Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
здравствуйте, подскажите как проверить на "пустоту" следующий тип запроса:
$find = User::where(...)->where(...)->...;
нужно узнать, пуст ли объект $find или нет. empty() не помогает, потому что фактически $find никогда не пуст, даже если в базе нет данных по условию. но надо узнать, вернул ли объект из базы или не вернул.
Не в сети
Не в сети
- Чем заканчивается запрос («…»)? Если там get() — проверяйте результат на пустоту. Просто запрос без какого-то конечного действия (count, max и пр.) не имеет смысла, т.к. он никогда не выполнялся в БД и число строк неизвестно.
если ставить в конце get(), то в $find возвращается Object ( [items:protected] ⇒ Array ( ) ) . а функция empty() видимо не считает это пустым, т.к. там items есть
Не в сети
все разобрался, спасибо
Не в сети
empty( $...->get()->toArray() )
Не в сети
я проверяю вот так $find->count(). если он меньше 1, то запись добавляю, иначе нет.
Не в сети
Не в сети
здравствуйте, подскажите как проверить на "пустоту" следующий тип запроса:
$find = User::where(...)->where(...)->...;
->get();
это всё объект Illuminate\Database\Eloquent\Collection
и там есть методы прикольные
К примеру тот что вам нужен:
$actions = Action::get();
$actions->isEmpty();
все IDшники в виде массива достает
$actions->modelKeys()
находит модель в коллекции по ID
$actions->find(10)
Смотри коллекцию моделей
class Collection extends BaseCollection {
там куча методов
получаешь максимально значение любого поля
public function max($key)
и.т.д...
лучше раз глянуть, чем их тут перечислять
If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.
Не в сети
А версия какая Laravel ?
В 4-ой можно так проверять
if (User::whereId(10)->exists()) {}
Это равносильно вот этой конструкции
if (User::whereId(10)->count()) {}
Или вот так можно
try {
$user = User::findOrFail(10);
}
catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) {
// Что-то делаем если модель не найдена
}
В 4-ке много новых методов для работы с моделями https://github.com/laravel/framework/bl … l.php#L403
Не в сети
Страницы 1