Konstantin
я не про eloquent в принципе
Anonymous
Зачем тебе Select с Raw, если у тебя там * ?
Konstantin
а про исполнение молодого человека
Konstantin
во во
Konstantin
All()->where
invariance
Кек
Konstantin
и поехал
Konstantin
это второе
invariance
Уточнять надо
Konstantin
А доктрина - так себе хрень
Konstantin
хотя не лишина плюсов
Konstantin
но тут кто с чего начал, я считаю
Konstantin
лишена*
Konstantin
да
Anonymous
Дергать Request при каждой итерации тоже не найс, да и зачем этот делать в целом, уверен что можно без этого. Where кстати может принимать несколько условий.
Konstantin
from_city_id, to_city_id
Konstantin
ужс
Konstantin
Для начала вам нужен нормальный архитектор бд
Anonymous
Anonymous
Ага, связи явно остались в доке не тронуты
Konstantin
Вы пытаетесь сделать where city_id between
Konstantin
очень уж извращенным способом
Anonymous
Я чот не заметил там намека на between
Anton
и он ищет такие пары 🙂
Konstantin
А
Konstantin
Вижу
Konstantin
все равно хрень
Konstantin
По-любому можно как-то иначе это вылепить
Anton
что именно?
Anton
Там даже модель - Tikets (зря конечно во множественном)
Anton
то есть там 2 города должно быть
Anton
как уже выше заметили не понятен select(DB::raw("*")) если есть ->get()
Anton
Так а задача в чем? Втащить в коллекцию названия городов?
Anton
можно join сделать
Anton
можно отдельно вытащить и мапнуть
Anton
но из реквеста я бы не подставлял
Anonymous
Anton
модель городов как называется?
Anonymous
city
Anton
таблица лучше
Anton
cities?
Anonymous
Anonymous
Жаль. Я на мобиле. Эх...
Anton
щас
Anton
$result = Tickets::leftJoin('city as city_from', 'city.id', '=', 'tikets.from_city_id')
->leftJoin('city as city_to', 'city.id', '=', 'tikets.from_city_id')
->where(['from_city_id' => $from_id, 'to_city_id' => $to_id, 'date' => $date])
->get(['tickets.*', 'city_from.name as city_from_name', 'city_to.name as city_to_name']);
Anton
примерно так
Anonymous
уууу
Anonymous
спасибо
Anton
А что у?
Anton
Если честно - я бы делал без join
Anonymous
удевлен
Anton
я бы лучше два запроса
Anonymous
Anton
нет, два запроса
Anton
первым бы вытянул билеты, а вторым - города
Anonymous
как их соеденить тогда?
Anonymous
$result = Tickets::leftJoin('city as city_from', 'city.id', '=', 'tikets.from_city_id')
->leftJoin('city as city_to', 'city.id', '=', 'tikets.from_city_id')
->where(['from_city_id' => $from_id, 'to_city_id' => $to_id, 'date' => $date])
->get(['tickets.*', 'city_from.name as city_from_name', 'city_to.name as city_to_name']);
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'city.id' in 'on clause' (SQL: select `tickets`.*, `city_from`.`name` as `city_from_name`, `city_to`.`nam ▶"
Anonymous
но такой столбец есть же!
Anonymous
почему оно говорит что нету
Konstantin
бд ваша нужна
Anton
в саму БД доступ есть?
Anton
desc city можешь вывести сюда?
Konstantin
да и тикеты тоже давай
Anton
Тикеты особо не надо
Anton
🙂
Anton
Anton
это же справочники...
Anton
ты их можешь из другой переменной выводить
Anonymous
Anonymous
Anonymous
Anonymous
Anonymous
Anton
Да блин я дурак
Anton
$result = Tickets::leftJoin('city as city_from', 'city_from.id', '=', 'tikets.from_city_id')
->leftJoin('city as city_to', 'city_to.id', '=', 'tikets.from_city_id')
->where(['from_city_id' => $from_id, 'to_city_id' => $to_id, 'date' => $date])
->get(['tickets.*', 'city_from.name as city_from_name', 'city_to.name as city_to_name']);
примерно так
Anton
но имена я правильно угадал
Konstantin
/stat@combot
Anonymous
и почему то from_city = to_city в конечном итоге