外键的Laravel查询

外键的Laravel查询,laravel,laravel-5.8,Laravel,Laravel 5.8,我有以下结构。当用户注册时,他选择一个国家。他创造了一个职位。我想搜索一个特定国家的所有职位,有搜索关键字。搜索关键字可以是标题、型号、价格或任何内容。它很好用 但是,我也希望能够搜索并生成名称。但与其他字段不同,make name不会直接保存在我的表中,它会保存一个ID,以便从不同的表中拾取make name 如何根据品牌名称进行搜索 模型-帖子关系。后模型: class Post extends Model { protected $table = 'posts'; pro

我有以下结构。当用户注册时,他选择一个国家。他创造了一个职位。我想搜索一个特定国家的所有职位,有搜索关键字。搜索关键字可以是标题、型号、价格或任何内容。它很好用

但是,我也希望能够搜索并生成名称。但与其他字段不同,make name不会直接保存在我的表中,它会保存一个ID,以便从不同的表中拾取make name

如何根据品牌名称进行搜索

模型-帖子关系。后模型:

class Post extends Model
{
    protected $table = 'posts';

    protected $dates = ['status_change'];

    public function make_rel()
    {
        return $this->belongsTo(Make::class, 'make_id' ,'id','make_logo');
    }

}
所以基本上我创建了一个帖子。在创建过程中,我可以选择一个make。 Post表格保存mak id。Make作为id、Make\U名称保存在不同的表格中

制作表格:

邮政表格:

现在我想基于make对posts表进行查询:

$posts = Country::where('country_name', $request->input('country'))->first()->posts()->orderBy('status_change','DESC')
        ->where('status','Published')
        ->where(function($query) use ($search){
            $query->where('title','LIKE','%'.$search.'%');
            $query->orWhere('model','LIKE','%'.$search.'%');
            $query->orWhere('notes','LIKE','%'.$search.'%');
            $query->orWhere('description','LIKE','%'.$search.'%');
        })
        ->paginate(25);
        }

您可以使用
whereHas
进行此操作。在
->where(函数($query)中使用($search){
块:

->orWhereHas('make_rel', function($query) use($search) {
    $query->where('make_name','LIKE','%'.$search.'%');
}

make表的名称是什么?