php - 带连接的 Laravel 查询,多个表中的名称相同

标签 php mysql laravel

我有一个大查询。出于所有意图和目的,我将使用较小的查询作为示例重新创建问题:

DB::table('cases')
    ->join('contacts', 'cases.id', '=', 'contacts.id')
    ->select('cases.name', 'contacts.name')
    ->get();

然后在 laravel 的模板 (Blade) 中,当我执行 foreach 循环并打印结果时,它会打印来自 {{ $case->name }} 的 cases 表的结果

我了解问题及其发生的原因,但如何才能使其正常工作?

最佳答案

这是一个 PDO 限制,与 laravel 无关。如果您同时需要它们,则必须在查询中为其添加别名:

DB::table('cases')
    ->join('contacts', 'cases.id', '=', 'contacts.id')
    ->selectRaw('cases.name as cases_name, contacts.name as contacts_name')
    ->get();

关于php - 带连接的 Laravel 查询,多个表中的名称相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24791984/

相关文章:

php - 在多维数组上使用 array_intersect

php - 引号内的javascript引号,字符串文字问题

php - 使用PHP返回mysql存储过程的输出参数

mysql - 如何生成随机代码,并多次运行sql

php - 如何设置 Laravel 中间件的执行顺序?

php - 拉拉维尔 6 : Problem with credentials for MySQL and e-mail on production server only

php - 如何在同一个域上运行多个 Laravel 实例?

MySQL选择重构

mysql - mysql中的物化 View

php - (Laravel) 如何按最新的枢轴值过滤表