Как мы можем использовать псевдоним имени столбца дочерней таблицы, не используя select в Laravel Eloquent - PullRequest
0 голосов
/ 09 февраля 2020

Поле таблицы категории: 'id', 'title', 'slug'
Поле таблицы блога: 'id','title', 'slug', 'short_desc', 'detail_desc', 'publish_date', 'seo_title', 'seo_keywords', 'seo_description', 'image', 'view_count', 'status'

Мой запрос в порядке с этим синтаксисом:

$data['rows'] = Blog::select('blogs.id','blogs.title', 'blogs.slug', 'blogs.short_desc', 'blogs.detail_desc', 'blogs.publish_date','blogs.seo_title', 'blogs.seo_keywords', 'blogs.seo_description', 'blogs.image', 'blogs.view_count', 'blogs.status', 'cat.id as cat_id')
                            ->join('categories as cat', 'blogs.category_id', '=', 'cat.id')
                            ->paginate($this->pagination_limit);

Я хочу создать этот тип синтаксиса с идентификатором категории alise:

$data['rows'] = Blog::join('categories', 'blogs.category_id', '=', 'categories.id')
                            ->paginate($this->pagination_limit);

Итак, как я могу изменить таблицу категорий id на cat_id без использования select. Потому что, когда я использую без выбора и использовать идентификатор блога, это связано с идентификатором категории.

1 Ответ

0 голосов
/ 09 февраля 2020

Используйте addSelect как это:

$data['rows'] = Blog::join('categories', 'blogs.category_id', '=', 'categories.id')
                     ->select('*')
                     ->addSelect('categories.id AS cat_id', 'blogs.id AS id') // alias categories id and rewrite the id for blogs
                     ->paginate($this->pagination_limit);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...