Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Так же была мысль просто сделать слект и потом через whereIn получить список всех альтренативных имен из table2 и потом с помощью цикла дописать их в table1, но это не варик т.к. такая беда, 1. одинаковые parents_id группируются, 2. сбивается их сортировка
Версия Laravel: 5.7
Версия PHP: 7.2
Операционная система и её версия: Windows
Вендор и версия сервера БД: Mysql 5.7
Вендор и версия Веб-сервера: OpenServer 5.2.2
Задача, что должно происходить _в целом_, техническое задание:
Должен выводится список наименований
В бд `table1` и `table2`, у `table1` есть - `parents_id` = '11111, 33333'
в `table2` хранятся альтернативные название для генерации url , например alt_name = `skazki`
Как в модели `table1` написать чтобы при выборке выбралось только первое значение в - "11111" чтобы по нему можно было выполнить второй селект или join и получить альтернативное название родительской категории данной статьи
Варианты/догадки, почему это произошло:
пробовал в модели прописать в надежде что преобразование в интежер сам обрежет до символа отличного от числа через
protected $casts = [
'parents_id' => 'integer',
];
Но не дало результата, есть мысль конечно просто создать в дб новое поле аля first_parrent и выводить без этого танца с бубном но это будет лишний вес в бд, чего не очень бы хотелось, или просто написать сырой запрос типа.
"SELECT
`a`.*,
(SELECT `url` FROM `table1` AS `b` WHERE `b`.`id` = `a`.`parents_id`) AS
`parent_url` FROM `table2` AS `a`
WHERE `url` LIKE '%{$parPath['url']}%' AND `folder` = '1'");
С ларой только начинаю дружить и хочется все сделать правильно через Eloquent . Помогите кто может)
Страницы 1