【发布时间】:2018-09-17 09:04:10
【问题描述】:
我的产品型号是这样的:
<?php
...
class Product extends Model
{
...
protected $fillable = ['name','photo','description',...];
public function favorites(){
return $this->morphMany(Favorite::class, 'favoritable');
}
}
我最喜欢的模特是这样的:
<?php
...
class Favorite extends Model
{
...
protected $fillable = ['user_id', 'favoritable_id', 'favoritable_type'];
public function favoritable()
{
return $this->morphTo();
}
}
我的 laravel 雄辩是这样的:
$q = $param['q'];
$query = Favorite->where('user_id', auth()->user()->id)
->with('favoritable');
if($q) {
$query->whereHas('favoritable', function ($query) use ($q) {
$query->where('name', 'like', "%$q%");
});
}
$query = $query->paginate(5);
return $query
如果脚本执行了,就会出现这样的错误:
未知列“名称”
我该如何解决这个问题?
【问题讨论】:
-
Laravel 5.8.27 添加
whereHasMorph(): laravel.com/docs/…
标签: laravel laravel-5 polymorphism laravel-eloquent laravel-5.6