因此,我的Client
模型与hasMany
模型之间存在Project
关系,因为client
表中的每个客户都与projects
中的许多项目相关联}表。
方法如下:
Client.php:
public function projects()
{
return $this->hasMany('App\Projects', 'id', 'project_id');
}
看起来很简单。但是当我从控制器尝试这个时:
$projects = Client::find(1)->projects()->get()
我只得到一个结果,第一个结果,来自Project模型,应该有大约六打。 如果我将发送的整数更改为find(),甚至会发生这种情况。
所以Eloquent每次都会返回项目表的第一行。为什么这样做和/或我如何获得所有相关结果?
答案 0 :(得分:0)
在Laravel Documentation中将hasMany
(或one-to-many
)关系定义为
A"一对多" relationship用于定义单个模型拥有任何数量的其他模型的关系。
在这种情况下,Many
只表示一个或多个。
我假设每个项目都有一个client_id
引用。在这种情况下,将projects()
功能更改为
return $this->hasMany('App\Projects', 'client_id');
应该适合你。