** Я использовал предложение whereNot в моем следующем скрипте. отображается следующая ошибка. Будут показаны остальные данные, кроме данных отменить . Может кто-нибудь помочь мне.

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец 'not' in 'where clause' (SQL: выберите count (*) как агрегат из client как c левое соединение users как u на c. telemarketar = u. id покинул присоединение disposition под именем d на c. { {X11}} = d. client где not = bgcolor) **

 $datas= DB::table('client as c') 
                     ->select(
                    'c.id as clid',
                    'u.id as uid',
                    'd.id as did',
                    'd.bgcolor as bgcolor',
                    'd.fcolor as fcolor',
                    'c.customerName as customerName',
                    'c.email as email',
                    'c.streetaddress as streetaddress',
                    'c.city as city',
                    'c.landNumber as landNumber',
                    'u.codenumber',
                     )       
                     ->leftJoin('users as u', 'c.telemarketar', '=', 'u.id')
                     ->leftJoin('disposition as d', 'c.id', '=', 'd.client')
                     ->whereNot('bgcolor','=','CANCEL')
                     ->orderBy('c.id', 'desc')        
                     ->paginate(100); 
0
wplover 2 Сен 2020 в 17:27

2 ответа

Лучший ответ

Использовать этот .

$datas= DB::table('client as c') 
                     ->select(
                    'c.id as clid',
                    'u.id as uid',
                    'd.id as did',
                    'd.bgcolor as bgcolor',
                    'd.fcolor as fcolor',
                    'c.customerName as customerName',
                    'c.email as email',
                    'c.streetaddress as streetaddress',
                    'c.city as city',
                    'c.landNumber as landNumber',
                    'u.codenumber',
                     )       
                     ->leftJoin('users as u', 'c.telemarketar', '=', 'u.id')
                     ->leftJoin('disposition as d', 'c.id', '=', 'd.client')
                     ->where('bgcolor','<>','CANCEL')
                     ->orderBy('c.id', 'desc')        
                     ->paginate(100); 
0
Rishi 2 Сен 2020 в 14:30

В Laravel нет функции whereNot(). Ты ищешь:

...
->where('bgcolor', '!=', 'CANCEL')
...

Причина, по которой вы получаете эту ошибку, заключается в том, что ->where{Noun}() - это волшебная функция в Laravel, где {Noun} используется в качестве столбца в запросе (если он не существует как конкретная функция, например {{X2}) }).

Поскольку функции ->whereNot() нет, она использует not в качестве столбца: имя:

WHERE `not` ...

И это неверно, поскольку в ваших таблицах действительно нет столбца not.

1
Tim Lewis 2 Сен 2020 в 14:30