Неопределенная переменная в построителе запросов - PullRequest
0 голосов
/ 19 января 2019

У меня проблема с красноречивым запросом.Когда я запускаю запрос, я получаю обратно Неопределенная переменная: ccid

Я прошел ccic через функцию

public function index($category)
{
    $currentuser = auth()->user();
    $ccid = $currentuser->clientcat_id;

    $products = DB::table('products')
        ->join('resomes', 'products.pricingcat_id', '=', 'resomes.pricingcat_id')
        ->join('users', function ($join) {
            $join->on('resomes.clientcat_id', '=', 'users.clientcat_id')
            //->where('users.clientcat_id', '=', 1);
            ->where(function($q) use($ccid){ 
                $q->where('users.clientcat_id', '=', $ccid);
            }
            );
        })
        ->select('products.*', 'resomes.discount', DB::raw('(products.price - (products.price * (resomes.discount/100))) as cPrice'))
        ->where('products.ccat_id', '=', $category)
        //->where(function($q) use($category){ $q->where('products.ccat_id', '=', $category);})
        ->orderBy('products.ccat_id', 'ASC')
        ->orderBy('products.price', 'ASC')
        ->paginate(config('pelma.products_list_pagination'));

    //print_r($products);
    return view('client.products.list', compact('products'));
}

У кого-нибудь есть идея?Большое спасибо

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Вы можете сделать что-то вроде этого

-> join ('users', function ($ join) use ($ ccid) {

и объяснение здесь Что такое замыкание в PHP и почему оно использует идентификатор «использования»?

0 голосов
/ 19 января 2019

Вы не передали $ ccid

->join('users', function ($join)

, вы также должны использовать $ ccid для этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...