php – 使用Eloquent在mysql中左连接后分别获取相同的命名列
发布时间:2020-12-13 16:59:19 所属栏目:PHP教程 来源:网络整理
导读:我有2个表,其中一个存储学生,另一个存储管理员 学生姓名, 最终管理者也有名字和姓氏. 我还在学生表中存储了added_by,以检查添加了学生的经理. 随着查询我连接表 $students = AppStudent::with('payment')-with('discontinuities') -leftJoin('managers','s
我有2个表,其中一个存储学生,另一个存储管理员
学生姓名, 我还在学生表中存储了added_by,以检查添加了学生的经理. 随着查询我连接表 $students = AppStudent::with('payment')->with('discontinuities') ->leftJoin('managers','students.added_by','=','managers.id') ->get(); 让我们说学生是
和经理是
所以当我用上面给出的查询加入这两个表时.我的学生变成了 Jane doe,因为这两个表中的名称冲突. 我实际上只能在管理器表中加入一些列但是我需要这个名称列来打印带有管理器名称的added_by列 所以我的问题是如何加入这两个表并防止同名列上的冲突? 解决方法
试试这个:
$students = AppStudent::with('payment')->with('discontinuities') ->leftJoin('managers','managers.id') ->select('students.*','managers.name as m_name','managers.surname as m_s_name','managers.other_column_if_needed','managers.another_column_if_needed') ->get(); 这样,您的经理表的名称列将被视为m_name,而姓氏列将被视为m_s_name (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |