0

データベースから最新の注文状況名を表示したいのですが、データの表示に問題があります。これが私のコードです:

注文コントローラー

    class OrderController extends Controller
    {
        public function index()
        {
            $orders = Order::with('shippingAddress', 'billingAddress', 'carrier', 'payment', 'status')->limit(300)->orderBy('id', 'DESC')->get();

        }
}

オーダーモデル(カット済み)

public function status()
    {
        return $this->hasMany('App\Ss\Models\OrderHistory','id_order', 'id')
            ->orderBy('date_add', 'DESC')
            ->limit(1)
            ->with('statusLanguage');
    }

OrderHistory モデル

class OrderHistory extends Model
{
    protected $table="order_history";
    public $timestamps = false;

    public function statusLanguage(){
        return $this->hasOne('App\Ss\Models\StatusLanguage', 'id_status', 'id_status');
    }
}

私が表示しようとした方法:

{{ $order->status()->statusLanguage()->name ?? 'No status' }}
{{ $order->status()->statusLanguage->name ?? 'No status' }}
{{ $order->status->statusLanguage->name ?? 'No status' }}

毎回結果が「プロパティ [statusLanguage] はこのコレクション インスタンスに存在しません」のようなエラーでした。または類似。

dd($order->status)を実行しようとすると、必要なデータとの関係が返されます: ここに画像の説明を入力

では、どこが間違っているのでしょうか?

4

2 に答える 2