Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 雄辩而急切的加载与许多关系不';行不通_Php_Laravel_Eloquent - Fatal编程技术网

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,则需要在
中使用