如何用雄辩的inaravel组合3张桌子?
您好,有谁帮助我,我需要您的帮助。
您如何将以下三个表与laravel中的雄辩结合在一起?
下表结构和数字:
标签表结构 {tag_id:主键,tag_name,tag_category}
文章表结构 {article_id:主键,date_posting,内容,tag_id:外键}
查看表结构 {review_id:主键,date_review,reviewer_name,review_content,article_id:外键}
能给我示例view.blade,控制器和模型的源代码吗?
非常感谢您的回答:)
答案 0 :(得分:1)
根据您的图片
标签有文章,文章有评论
Now Tag与Article共享one-to-many和many-to-one(inverse)关系
use App\Article;
class Tag extends Model{
public function articles()
{
return $this->hasMany(Article::class);
}
}
商品模型
use App\Tag;
use App\Review;
class Article extends Model{
//Inverse relation for Tag and Article
public function tag()
{
return $this->belongsTo(Tag::class);
}
//Articles having reviews
public function reviews()
{
return $this->hasMany(Review::class);
}
}
在评论模型中
use App\Article;
class Review extends Model {
public function article()
{
return $this->belongsTo(Article::clas);
}
}
现在您可以使用eager loading
检索所有模型数据App\Tag::with('articles.reviews')->get()