有三个表在我的系统:如何通过Laravel口才得到的只是一个表
- 学生
- 文章
- 类别
学生可以写很多文章和文章只属于一个学生。一篇文章只能有一个类别。
文章型号
class Articles extends Model
{
protected $fillable = ['id','title', 'body', 'students_id', 'created_at', 'updated_at'];
protected $table = 'articles';
public function students(){
return $this->belongsTo('App\Students');
}
public function categories(){
return $this->belongsTo('App\Categories');
}
}
我创建了上面的代码,因为我需要去与谁通过文章与类别名称写的文章列表。
为此,我在控制器中使用了$article_list = Articles::get();
,并且它完美地工作。
然后我又需要获得文章列表(这次我不需要学生名称和类别名称;文章表格的输出绰绰有余)。
但是,如果我使用$article_list = Articles::get();
它也输出与类别和学生表连接的文章表。
有没有办法只用文章表雄辩?
您可以使用此查询生成器 –
*您输出的文章表格与类别和学生*相连是什么意思?是否确定学生和类别数据实际上* id *在你得到的结果中,还是这些只是在雄辩模型上的关系对象? – lesssugar
@lesssugar是的。在使用'$ articles = Articles :: with('students') - > with('categories') - > get();'和'$ articles = Articles :: get();'时,我会得到相同的结果。因为这个,我感到困惑。我的意思是在foaeach之后,我可以使用'{{$ article ['categories'] ['name']}}'来访问类别名称。所以我知道他们已经加入了...... –