繁体   English   中英

如何在Laravel 5.1中从外键获取数据?

[英]How to get data from foreign key in laravel 5.1?

我将laravel 5.1用于新项目的智能搜索。 我的问题是使用类似查询从外键获取数据以搜索该表。 我的数据库表是:

  category->id, name
  search->id, category_id (foreign_key), question, answer, tags

我的模型代码是:类别模型

public function helpcenter() {
  return $this->belongsTo('App\HelpCenter');
}

帮助中心模型

public function category() {
  return $this->hasOne('App\HelpCenterCategory', 'id', 'category_id');
}

我用于搜索查询的控制器功能是

$queries = HelpCenter::has('category')
  ->where('questions', 'LIKE', '%'.$term.'%')
  ->orwhere('category_id.name','LIKE','%'.$term.'%')
  ->take(5)->get();

您将要使用whereHas()来子查询关系:

$queries = HelpCenter::whereHas('category', function($category) use ($term)
    {
        $category->where('name','LIKE','%'.$term.'%');
    })
  ->orWhere('questions', 'LIKE', '%'.$term.'%')
  ->take(5)->get();

在这里记录了has(): http ://laravel.com/docs/5.1/eloquent-relationships#querying-relations

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM