mstdmstd
Новичок
Всем привет.
хочу сделть свой код в laravel 5.7 приложении работающим с указанным префиксом в настройке базы.
Без указания префикса работал такой запрос с join-ом :
После того как я указал префикс в настройках базы заработал такой код
Без использлвания \DB::raw я получал ошибку из-за удвоенного префикса, но без $prefix в указании списка полей не работает
Похоже что метод >select( префикс с именованные поля не подсктавляет
Получается что запрос с префиксом хоть и работает, но получилось менгее читаемо.
А как делаете вы ?
Спасибо!
хочу сделть свой код в laravel 5.7 приложении работающим с указанным префиксом в настройке базы.
Без указания префикса работал такой запрос с join-ом :
PHP:
$nextVote = Vote
::where(with(new Vote)->getTable() . '.id', $nextTempTagRelatedVote->taggable_id)
->getByStatus('A')
->leftJoin(\DB::raw('vote_categories'), \DB::raw('vote_categories.id'), '=', \DB::raw('votes.vote_category_id'))
->select(\DB::raw(" votes.*, votes.image as vote_image, vote_categories.name as vote_category_name, vote_categories.slug as vote_category_slug"))
->get()
->first();
После того как я указал префикс в настройках базы заработал такой код
PHP:
$prefix= \DB::getTablePrefix();
$nextVote = Vote
::where(with(new Vote)->getTable() . '.id', $nextTempTagRelatedVote->taggable_id)
->getByStatus('A')
->leftJoin('vote_categories', 'vote_categories.id', '=', 'votes.vote_category_id')
->select( \DB::raw($prefix."votes.*, ".$prefix."votes.image as vote_image, ".$prefix."vote_categories.name as vote_category_name, ".$prefix."vote_categories.slug as vote_category_slug") )
->get()
->first();
Без использлвания \DB::raw я получал ошибку из-за удвоенного префикса, но без $prefix в указании списка полей не работает
Похоже что метод >select( префикс с именованные поля не подсктавляет
Получается что запрос с префиксом хоть и работает, но получилось менгее читаемо.
А как делаете вы ?
Спасибо!