如何解决Rinvex \ Repository \ Repositories \ BaseRepository :: join()的Missing参数3?

时间:2017-04-10 15:09:35

标签: php laravel repository laravel-5.3 laravel-eloquent

我用这个:https://github.com/rinvex/repository

我的查询是这样的:

$query = $this->store_repository
    ->join('favorites', function ($join) {
        $join->on('stores.id', '=', 'favorites.favoritable_id')
            ->where('favorites.favoritable_type', 'like', 'App\\\Models\\\Store');
    })
    ->where('stores.status', '=', 1)
    ->select('stores.id', 'stores.name', 'stores.photo','stores.address');

if($location)
    $query->where('stores.address', 'like', "%$location%");

if($q) {
    $query->where('stores.name', 'like', "%$q%")
        ->where('stores.address', 'like', "%$q%", 'or');
}

$result = $query->orderBy('favorites.updated_at', 'desc')->paginate($num);

执行时,会出现如下错误:

  

缺少参数3   Rinvex \库\库\ BaseRepository ::加入()

我该如何解决?

1 个答案:

答案 0 :(得分:0)

我认为你不需要clojure来制作你想要的东西。

我想这应该没关系:

$query = $this->store_repository
    ->join('favorites', '=', 'favorites.favoritable_id')
    ->where('favorites.favoritable_type', 'like', 'App\\\Models\\\Store');
    ->where('stores.status', '=', 1)
    ->select('stores.id', 'stores.name', 'stores.photo','stores.address');