从其他表laravel获取价值

时间:2020-04-02 13:14:30

标签: php laravel

我想从role_id = 2的用户表中获取价值

public function index(){
         return view('admin.articles.index',[
        'articles' => Article::orderBy('created_at', 'desc')->paginate(10),
        'articles_suggest' => Article::with('user')->where('user.role_id',2)->paginate(10),
    ]);

}

 Unknown column 'user.role_id' in 'where clause' (SQL: select count(*) as aggregate from `articles` where `user`.`role_id

用户模型

public function articles(){
        return $this->hasMany('App\Article');
    }

文章模型

 public function user(){
    return $this->belongsTo(User::class, 'author_id');
  }

2 个答案:

答案 0 :(得分:0)

首先,我将看看@deepak注释。这是有关Series.isna的链接。像这样重写索引函数:

$articles = Article::with(['user' => function ($query) {
    $query->where('role_id', '=', 2);
}])->paginate(10);

然后,我想您可以在您看来:

// Looping through articles
@foreach($articles as $article)
    // Check if there is a user associated with the article
    @if( $article->user )
        // Access the user column/attribute
        {{ $article->user->theusercolumn }}
    @endif
@endforeach

答案 1 :(得分:0)

尝试回调

'articles_suggest' => Article::with(['user'=>function($q){
    $q->where('role_id',2);
}])->paginate(10),
相关问题