Итак, используя Laravel 4, у меня есть таблица Продажи, которая имеет отношение "многие ко многим" с таблицей Товары, а также у нее есть одна для многие связаны с таблицей Клиенты.
Я настроил свои модели следующим образом:
class Sale extends Eloquent {
...
public function products(){
return $this->belongsToMany('Product');
}
public function customers(){
return $this->belongsTo('Customer');
}
}
class Product extends Eloquent {
...
public function sales(){
return $this->belongsToMany('Sale');
}
}
class Customer extends Eloquent {
...
public function sales(){
return $this->hasMany('Sale');
}
}
Я хочу вернуть данные обо всех продажах, включая данные каждого продукта, включенного в каждую продажу, и данные покупателя, который его купил.
В моем SalesController я использую нетерпеливую загрузку, чтобы запросить свои данные следующим образом:
public function index()
{
return Sale::with('products', 'customers')->get();
}
Он возвращает объект с данными о продажах, данными о продукте, но данные о клиенте равны нулю.
Как я могу добиться этого с помощью Eloquent (или специального запроса)?
ИЗМЕНИТЬ
Это строка объекта, которую он возвращает:
[{"id":1,"customer_id":1,"date":"2013-11-21","status":1,"created_at":"0000-00-00 00:00:00","updated_at":"0000-00-00 00:00:00","products":[{"id":1,"name":"Monitor","price":50,"status":1,"created_at":"0000-00-00 00:00:00","updated_at":"0000-00-00 00:00:00","pivot":{"sale_id":1,"product_id":1,"custom_price":25,"order":1}}],"customers":null}]
customer
в единственном числе для представления отношения 1: n? - person Manuel Pedrera   schedule 22.11.2013id, customer_id, date, status
У клиента есть основные данные о клиенте, а у продукта есть базовые данные о продукте. - person Pablo.mtz   schedule 22.11.2013