在"雄辩的急切加载不起作用"中选择特定字段



我有一个属于UserNotifications模型。我想在选择通知集合时加载用户,并且只加载具有namesemails的模型。但是,使用 select 方法时,查询将返回 null。

$notifications->load(['user' => function($query){
$query->select(["name","email"]);
}]);

如果select()方法的参数如下,则给出所有字段:

$notifications->load(['user' => function($query){
$query->select(["*"]    
}]);

也许选择这样的字段可以:

$notifications->load('user:id,name,email');

您正在尝试的是添加约束,而不是选择某些字段

只需要添加主键列就可以正常工作。

$notifications->load(['user' => function($query){
$query->select(["ID","name","email"]);
}]);

这样,可以将任何约束添加到查询中。

如果使用 select 获取数据,则必须传递foreign_key。 看一看

public function index()
{ 
$employee = Employee::with(['pay_salary' => function($query){
$query->select(['employee_id','salary_amount'])
->whereMonth('paying_date',CarbonCarbon::now()->month);
},'getSalary:id,employeeID,salary'])->get();

return View::make('admin.salary.index',['data' => $employee]);
}

最新更新