【发布时间】:2019-10-17 01:50:09
【问题描述】:
我有 2 节课。链接和信息需要连接。 Info 类有一个 Link_id,而 Link 有一个 User_id。
我希望用户在他们的个人仪表板中看到他们的链接信息。所以一个用户,有很多链接,一个链接有很多信息。
链接模型有:
public function infos()
{
return $this->hasMany('info');
}
}
信息模型有:
public function link()
{
return $this->belongsTo('link');
}
仪表板有一个控制器。 我设法通过搜索 user_id 来获取所有链接
$linksByOwner = Link::where('user_id',$user_id)->get();
现在我正在尝试访问链接中的信息。我试过这个:
$collectedData = $linksByOwner->infos(); < Not working
$collectedData = Info::where('link_id',19)->info(); < Not working
dd($collectedData);
这给了我以下错误:
Method Illuminate\Database\Eloquent\Collection::infos does not exist.
一些额外的信息: 两个模型在数据库迁移中都有一个外键连接到它们
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
$table->foreign('link_id')
->references('id')->on('links')
->onDelete('cascade');
有人可以告诉我如何解决这个问题吗?是范围界定错误吗?我需要以不同的方式连接这些类吗?
【问题讨论】:
-
“info”和“link”表的正确名称是什么?