我有一个属于User
的Notifications
模型。我想在选择通知集合时加载用户,并且只加载具有names
和emails
的模型。但是,使用 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]);
}