Php Laravel 5 |多对多关系不起作用
我是新来的。 我使用“多对多”关系来获取基于给定标记的所有消息 消息模型:Php Laravel 5 |多对多关系不起作用,php,laravel,many-to-many,laravel-5.2,Php,Laravel,Many To Many,Laravel 5.2,我是新来的。 我使用“多对多”关系来获取基于给定标记的所有消息 消息模型: function tags(){ return $this->belongsToMany('App\tags')->withTimestamps(); } 标签型号: public function messages() { return $this->belongsToMany('App\messages', "messages_tags", "mes
function tags(){
return $this->belongsToMany('App\tags')->withTimestamps();
}
标签型号:
public function messages() {
return $this->belongsToMany('App\messages', "messages_tags", "messages_id", "tags_id");
}
我的意见:
$tag = App\tags::where('name','public')->first();
($tag:)
我试图获取带有标签的消息
$tag->messages()->get();
我的输出:
[]
但是我有标签为“Public”的消息
我的代码有什么问题?请参阅:
您是否有任何与给定标签相关的消息
$tag = App\tags::where('name','public')->first();
dd($tag->messages()->get());
参考:
您是否有任何与给定标签相关的消息
$tag = App\tags::where('name','public')->first();
dd($tag->messages()->get());
在
Message
模型中的tags()
方法中,您还应该提供messages\u tags
透视表名称(包括“messages\u id”和“tags\u id”),要访问messages
,您应该使用:
$tag->messages;
或者您可以使用(Eagre加载):
然后使用:
$tag->messages;
在
Message
模型中的tags()
方法中,您还应该提供messages\u tags
透视表名称(包括“messages\u id”和“tags\u id”),要访问messages
,您应该使用:
$tag->messages;
或者您可以使用(Eagre加载):
然后使用:
$tag->messages;
尝试添加($tag->message)然后如果你能看到结果put$tag->message->get()也返回“[]”你能添加你的表结构吗?尝试添加($tag->message)然后如果你能看到结果put$tag->message->get()也返回“[]”你能添加你的表结构吗?非常感谢Q Soo。。。它的工作。。。!非常感谢Qsoo。。。它的工作。。。!请标记记录和相关消息记录,只需通过idPlease标记记录和相关消息记录进行dd选择,只需通过id进行dd选择