【发布时间】:2015-06-05 17:12:12
【问题描述】:
我正在尝试搜索产品,但没有返回任何结果。我怀疑它与 whereHas 函数有关,但我无法弄清楚。这是我的代码:
我的关系:
类别模型:
class Categories extends Eloquent {
public function product()
{
return $this->hasMany('Products')->orderBy('name');
}
}
产品型号:
class Products extends Eloquent {
public function category()
{
return $this->belongsTo('Category')->orderBy('name');
}
}
我的搜索功能:
public function search()
{
$search = Input::get('search');
$result = Products::where('name', 'LIKE', '%'. $search .'%')->get();
if ($result->first()) {
return View::make('groceries.index')
->with('categories', Categories::with('product')->orderBy('name', 'asc')
->whereHas('product', function($query) use ($search)
{
$query->where('name', 'LIKE', '%'.$search.'%');
}));
}
}
在视图中:
@foreach ($categories as $category)
//do stuff
@foreach ($category->product as $products)
//Show results
@endforeach
@endforeach
【问题讨论】: