Tags 系統、好友系統等等
凡是需要多一張中間表出來做關聯記錄的,都能參考
//簡易架構解釋
model Posts::
model Tags::
Table 1 : posts
id
title
Table 2 : tags
id
name
Table 3 : tags_rel
id - AUTO_INCREMENT
tags_id
posts_id
//Model/Posts.php
public function tags() {
return $this->belongsToMany(Tags::class, 'tags_rel', 'posts_id', 'tags_id');
}
//Model/tags.php
public function posts() {
return $this->belongsToMany(Posts::class);
}
要解釋很複雜,有興趣的自慢慢理解一下,其他跟官方的講的差不多 我就是參考官方這篇做出來的: ORM many-to-many
整篇重點只是想提一句:即使你有中間表來做關聯,看many-to-many就夠了,不用被他的「Has Many Through」卡住
這只是其中一個很簡單的例子 不是每個many to many 都適合,我本人就試過在多次不同的情況下回來參考這篇文章時,發現不能照抄,有時候是ok,有時候是不ok,需要進行調整的