Сначала вы должны использовать joins
, а затем использовать предложения where
, а также, используя get()
.
$lichome = DB::connection('mysql')
->table('emp')->select('SOF.NOMSOF',
'SOF.TIPLICSOF',
'SOF.TIPIMASOF',
'EMP.IDEMP',
'EMP.NOMEMP',
'EMP.APPEMP',
'EMP.APMEMP')
->join('equ','EQU.IDEMP', '=', 'EMP.IDEEMP')
->join('sof','NOMSOF', '=', $home->get('DisplayName0'))
->whereIn('EQU.IDEEQU', $home->pluck('Netbios_Name0'))
->where('pueemp', '=', 'Empleado')
->where('pueemp', '=', 'Empleado')->get();
Вы должны знать:
pluck()
Извлекает все значения для данного ключа
get()
Возвращает элемент по заданному ключу. Если ключ не существует, возвращается ноль.
Таким образом, вы можете использовать pluck
в whereIn()
, но вы не можете использовать его в предложении on
в соединении , лучше использовать get()
.
Итак, вот:
->join('sof','NOMSOF', '=', $home->pluck('DisplayName0'))
Вы делаете что-то вроде:
...
INNER JOIN sof ON nomsof = ['item1', 'item2']
Кроме того, я думаю, что вы должен сделать это так:
->join('sof','sof.NOMSOF', '=', 'equ.SomeID')