I am trying to do a query that filters on 2 columns on one table OR 2 columns on another. This is what I have so far:
// In my controller
return $registry = Registry::search($first_name, $last_name)->get();
// In my model
public function user()
{
return $this->belongsTo('User');
}
public function scopeSearch($query, $first_name, $last_name)
{
$search = $query->where('coregistrant_first_name', 'LIKE', "%$first_name%")
->where('coregistrant_last_name', 'LIKE', "%$last_name%")
->orWhere(function($query) use ($first_name, $last_name)
{
$query->$this->user()->where('first_name', 'LIKE', "%$first_name%");
});
return $search;
}
I have tried a lot of different things and now I'm stuck on the $query->$this->user()
line with this error:
Undefined property: Illuminate\Database\Query\Builder::$[]
Anyone know how I can fix this problem?