Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Прошу помощи, чтобы разобраться в отношениях Eloquent
Есть 3 таблицы:
categories
id
name
icon
parent_id
...
regions
id
name
parent_id
...
items
id
name
category_id
region_id
...
Отношение прописано в модели Items
public function icon(){
return $this->belongsTo('App\Category', 'category_id', 'id');
}
Нужно выбрать Items с одним полем (icon) из модели Category (табл. categories)
Моя выборка:
Item::where('region_id', $region_id)->with('icon')->get()->toArray()
В результате получаю items, где в поле icon содержится вся строка из categories, а мне нужно:
одно поле из табл. categories, типа categories.icon as icon
желательно отобрать только нужные поля из Item, типа get(['id', 'name', 'categories.icon as icon'])
в идеале, в условие where передать массив со сприском $region_id, типа Item::where('region_id', 'in', [3, 4, 5])
Изменено Goshik (08.03.2015 13:23:48)
Не в сети
1. $this->belongsTo()->select()
2. В чем вопрос?
3. whereIn()
Не в сети
3. whereIn()
спасибо, в документации не нашел, видно api надо смотреть
1. $this->belongsTo()->select()
большое спасибо!
Только нужно обязательно указывать id, кроме выбираемого поля, иначе получаем null
2. В чем вопрос?
Вопрос в выборе только нужных полей.
Оказалось также нужно указывать category_id, иначе получаем icon = null
Не в сети
Страницы 1