doucuan5365 2013-12-06 08:48
浏览 7
已采纳

Laravel或者哪个或不同的模型

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?

  • 写回答

2条回答 默认 最新

  • dongyu1125 2013-12-09 06:56
    关注

    I ended up using query builder to do it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?