Ну, я не могу сделать то же самое в моей локальной среде, но я дам вам основную c идею о том, как получить детали всех связанных данных. Убедитесь, что ваша модель имеет указанные методы
Покупатель. php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Carbon\Carbon;
class Buyer extends Model
{
/**
* other functions and properties.
*/
/**
* Get the orders associated with the buyer.
*/
public function orders()
{
return $this->hasMany('App\Order', 'buyer_id')->where('status', 1);
}
}
Заказ. php
class Order extends Model
{
/**
* other functions and properties.
*/
/**
* Get the purchases associated with the Order.
*/
public function purchases()
{
return $this->hasMany('App\Purchase', 'order_id');
}
/**
* Get the buyer belongs to the Order.
*/
public function buyer()
{
return $this->belongsTo('App\Buyer', 'buyer_id');
}
}
Покупка. php
class Purchases extends Model
{
/**
* other functions and properties.
*/
/**
* Get the user product belongs to the Purchase.
*/
public function product()
{
return $this->belongsTo('App\Product', 'product_id');
}
/**
* Get the user product belongs to the Purchase.
*/
public function order()
{
return $this->belongsTo('App\Order', 'order_id');
}
}
Контроллер. php
$buyer_id = 1;
$orders = App\Buyer::where('id', $buyer_id)->with('orders')->get();
Таким образом, вы получаете все данные и связанные с ними данные. т. е. приведенный выше запрос даст вам информацию о покупателях, а новые заказы на недвижимость, представляющие собой массив, представляют все заказы, принадлежащие данному покупателю.
Каждый заказ также имеет свойство покупки, которое включает в себя массив объектов, а каждый объект (то есть объект покупки) имеет свойство продукта, которое представляет сведения о продукте.
Согласно вашему запросу, если вы хотите, чтобы все заказы были у покупателя, а также данные о покупке (включая информацию о товаре).
$orders = Order::where('status', 0)->with(['buyer', 'purchases'])->get();
и если вы хотите, чтобы все заказы покупателя и сведения о товаре были получены у него.
$orders = Order::where('status', 0)->with(['buyer', 'purchases.product'])->get();
print_r($orders);