Неоднозначная ошибка столбца при фильтрации потенциальных клиентов в теле запроса LaravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Неоднозначная ошибка столбца при фильтрации потенциальных клиентов в теле запроса Laravel

Сообщение Anonymous »

Я работаю над приложением Laravel, в котором мне нужно применить фильтры к интересам на основе атрибутов из связанной таблицы Company_users. Я попытался реализовать функцию, которая фильтрует потенциальных клиентов по Lead_owner на основе введенного текста, который соответствует началу, концу, содержит или не содержит определенный текст в поле Company_users.name.
Я получаю все идентификаторы владельцев, но когда я применяю его к запросу, запрос не дает результата
Я пытаюсь увидеть его sql-код, применяю код к mysql и получаю результат, но вижу, что не получил результат

Код: Выделить всё

   if ($request->filled('lead_owner') && $request->filled('lead_owner_text')) {
$filterType = $request->input('lead_owner');
$ownerText = $request->input('lead_owner_text');

if (is_array($filterType)) {
$ownerIds = [];

foreach ($filterType as $type) {
if ($type === 'startWith' && !empty($ownerText)) {
$ownerIds = array_merge($ownerIds, CompanyUsers::where('companyId', $user->companyId)
->whereRaw("LEFT(name, ?) = ?", [strlen($ownerText), $ownerText])
->pluck('id')->toArray());
} elseif ($type === 'endWith' && !empty($ownerText)) {
$ownerIds = array_merge($ownerIds, CompanyUsers::where('companyId', $user->companyId)
->whereRaw("RIGHT(name, ?) = ?", [strlen($ownerText), $ownerText])
->pluck('id')->toArray());
} elseif ($type === 'contain' && !empty($ownerText)) {
$ownerIds = array_merge($ownerIds, CompanyUsers::where('companyId', $user->companyId)
->where('name', 'like', "%{$ownerText}%")
->pluck('id')->toArray());
} elseif ($type === 'doesntContain' && !empty($ownerText)) {
$ownerIds = array_merge($ownerIds, CompanyUsers::where('companyId', $user->companyId)
->where('name', 'not like', "%{$ownerText}%")
->pluck('id')->toArray());
}
}

if (!empty($ownerIds)) {
$query->whereIn('lead_owner_id', $ownerIds);
}
}
}
этот код не работает:

Код: Выделить всё

$query->whereIn('lead_owner_id', $ownerIds);
Мне нужно получить результат, сделать так, чтобы запрос сохранял результат по лидам и отображал его в представлении.

Подробнее здесь: https://stackoverflow.com/questions/792 ... query-body
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»