Php 雄辩而急切的加载与许多关系不';行不通
我的代码目前不起作用,但我的关系是正确的 项目模型Php 雄辩而急切的加载与许多关系不';行不通,php,laravel,eloquent,Php,Laravel,Eloquent,我的代码目前不起作用,但我的关系是正确的 项目模型 public function timeEntries() { return $this->hasMany('App\Model\TimeEntries'); } $array_of_project = Project::with('timeEntries') ->whereBetween('spent_on', [($request->debut)), ($request->fin))]) -
public function timeEntries()
{
return $this->hasMany('App\Model\TimeEntries');
}
$array_of_project = Project::with('timeEntries')
->whereBetween('spent_on', [($request->debut)), ($request->fin))])
->get();
它找不到“在上花费的时间”。就像@aynber写的那样,如果你的
在上花费的时间属性是相关模型的一部分,它应该包含在查询中并带有一个闭包
$array\u of_project=project::with(['timeEntries'=>函数($time\u entry)use($request){
$time_entry->whereBetween('spend_on',[$request->input('destude'),$request->input('fin'));
}])->get();
如果花费时间
是时间项
表中的一列,则您的项目之间的
不正确,因为它将查看项目
表中的内容。但您可以使用
将其添加到:
$array\u of_project=project::with(['timeEntries'=>函数($query)use($request){
返回$query->whereBetween('spended_on',[$request->input('destude'),$request->input('fin'));
})->get();
看起来您正试图约束关系的记录。我建议查看文档以约束急切加载。以下是我认为您正试图实现的代码示例:
$projects = App\Model\Project::with(['timeEntries' => function ($query) use ($request) {
$query->whereBetween('spent_on', $request->debut, $request->fin);
}])->get();
return$this->hasMany('App\Model\TimeEntries'、'foreign\u key'、'local\u key');是否在项目或TimeEntries的部分上花费了时间?如果是TimeEntries,则需要在中使用