gpt4 book ai didi

Laravel : Error in creating a relation to get first child of each parent entity

转载 作者:行者123 更新时间:2023-12-02 03:32:44 24 4
gpt4 key购买 nike

我正在尝试 急切负载 第一 child每个实体parent实体如下:

$list = Parent::with('FirstChild')->get();

以及 Parent 中定义的关系模型是:
public function FirstChild()
{
return $this->hasMany('Child')->first();
}

但这会引发错误:
BadMethodCallException thrown with message "Call to undefined method Illuminate\Database\Query\Builder::addEagerConstraints()"

重点是当我删除 first()方法,然后它的工作原理!

最佳答案

hasMany()是声明与模型(自身或他人)的关系。在这里,您已经声明了与“Child”的关系,因此当您删除 first() 时有用。

所以这应该可以正常工作

$list = Parent::with('FirstChild')->first();

编辑
可以对第一个 child 使用 hasOne(),对其他 child 使用 hasMany
public function FirstChild()
{
return $this->hasOne('Child');
}
public function AllChild(){
return $this->hasMany('Child');
}

关于Laravel : Error in creating a relation to get first child of each parent entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com