Laravel mysqli 连接 2 列并更改列名
Laravel mysqli connect 2 columns and change column name
我有 2 个表要连接
table1:
id
name
table2_id
table_2:
id
name
table1 与 table2 连接
当我尝试 select table1 和来自 table2 的连接行时它起作用了,但是因为行名 id 和 name 相同,它覆盖了 table1 的值。
如何连接表 1 和表 2 并在 laravel:
中获得包含这些行的表 1
id
name
table2_id
table2_name
查看有关关系的 laravel 文档 - 如果您按照此处概述的方式设置模型 https://laravel.com/docs/5.3/eloquent-relationships 您将能够像这样调用 table2:
$result = Table1::find(1)->table2;
然而,要获得您想要的结果,您可以使用 ->select(
函数
DB::table('users')->select('name', 'email as user_email')->get();
https://laravel.com/docs/5.2/queries#selects
像这样
public function scopetable1($query,$id){
return $query = DB::table('table1')
->select('table1.id as id','table1.name as name','table2.id as table2_id', 'table2.name as table2_name' )
->where('table1.id', '=', $id)
->leftJoin('table2', 'table1.table2_id', '=', 'table2.id')
->get();
}
我有 2 个表要连接
table1:
id
name
table2_id
table_2:
id
name
table1 与 table2 连接
当我尝试 select table1 和来自 table2 的连接行时它起作用了,但是因为行名 id 和 name 相同,它覆盖了 table1 的值。
如何连接表 1 和表 2 并在 laravel:
中获得包含这些行的表 1id
name
table2_id
table2_name
查看有关关系的 laravel 文档 - 如果您按照此处概述的方式设置模型 https://laravel.com/docs/5.3/eloquent-relationships 您将能够像这样调用 table2:
$result = Table1::find(1)->table2;
然而,要获得您想要的结果,您可以使用 ->select(
函数
DB::table('users')->select('name', 'email as user_email')->get();
https://laravel.com/docs/5.2/queries#selects
像这样
public function scopetable1($query,$id){
return $query = DB::table('table1')
->select('table1.id as id','table1.name as name','table2.id as table2_id', 'table2.name as table2_name' )
->where('table1.id', '=', $id)
->leftJoin('table2', 'table1.table2_id', '=', 'table2.id')
->get();
}