php – 如何从连接表中选择列:laravel eloquent
作者:互联网
我有一个不同的问题从this.情况是相同的,但我需要更多的结果过滤.
让我解释.
考虑我有2个表
车辆
id
name
staff_id
distance
mileage
员工
id
name
designation
我想从两个表(模型)中只选择id和name.
Vehicle Model包含与Staff模型的belongsTo关系.
class Vehicle extends Model
{
public function staff()
{
return $this->belongsTo('App\Staff','staff_id');
}
}
我加入了这个
Vehicle::where('id',1)
->with(['staff'=> function($query){
// selecting fields from staff table
$query->select(['staff.id','staff.name']);
}])
->get();
当我将字段放入 – > get()时这样
->get(['id','name'])
它过滤车辆表但没有产生员工表的结果.
有任何想法吗?
解决方法:
终于找到了..
在 – > get()中你必须像这样放置’staff_id’
Vehicle::where('id',1)
->with(['staff'=> function($query){
// selecting fields from staff table
$query->select(['staff.id','staff.name']);
}])
->get(['id','name','staff_id']);
由于我没有使用staff_id,因此无法执行连接,因此未显示人员表字段.
标签:php,laravel,eloquent,laravel-eloquent 来源: https://codeday.me/bug/20190527/1163575.html