К моему запросу присоединяются 4 таблицы. Я получил все ответы, кроме трех таблиц, которые имеют одно и то же имя поля 'title', и это несоответствие. Так как я могу решить эту проблему. Есть ли способ фильтрации, который я хочу до leftjoin
или после leftjoin
запроса.
Мой запрос выглядит так:
$userPost = Post::with(['product','postattributes' => function ($query) {
$query ->leftjoin('attributes', 'attributes.id', '=', 'post_attributes.attribute_id')
->leftjoin('categories', 'categories.id' , '=', 'attributes.category_id');
}])->whereUserId($user->id)->whereStatus("Active")
->get();
И ответ я получил:
"postattributes": [
{
"id": 1,
"attribute_id": 1,
"post_id": 136,
"created_at": "2018-04-27 18:46:28",
"updated_at": "2018-04-27 18:46:28",
"product_id": 1,
"category_id": 1,
"parent_id": null,
"title": "Shape",
"status": "Active",
"sort_order": 1
},
{
"id": 1,
"attribute_id": 2,
"post_id": 136,
"created_at": "2018-04-27 18:46:28",
"updated_at": "2018-04-27 18:46:28",
"product_id": 1,
"category_id": 1,
"parent_id": null,
"title": "Shape",
"status": "Active",
"sort_order": 1
}
]
Теперь я хочу использовать title as category_title
на categories
таблице.
как я могу это сделать?