検索

ホームページ  >  に質問  >  本文

LaravelからInertiaにプライベート変数を持つオブジェクトを渡す方法

Laravel の慣性を使用するのは初めてです

私のlaravelバージョン:9.10.1、Inertiaバージョン:0.11、Vue:3.2

私のクラスはRefundManager

です リーリー

私はコントローラーにこのクラスのオブジェクトを持っており、それぞれのメソッド id() と returns() を介して $id と $refund に完全にアクセスできます。 しかし、それを inertia に渡そうとすると、空のオブジェクトを受け取ります。ステップ:### リーリー

私の vue コンポーネントでは、prop をオブジェクトとして宣言しました:

リーリー

変数 $id,$refund を public に変更すると、機能します。

しかし、$id と $refund がプライベートの場合、空のオブジェクトを受け取るだけで、パブリック関数にはアクセスできません...

パブリック メソッドを通じてプライベート変数にアクセスして、プライベート変数を使用できるようにするにはどうすればよいですか?

P粉986937457P粉986937457290日前549

全員に返信(1)返信します

  • P粉018548441

    P粉0185484412024-03-27 00:44:54

    PHP オブジェクトを JS オブジェクトに変換するには、それを json 形式の文字列に変換する必要があります。

    Laravel は、toJson() (デフォルトでは Model クラスに存在します) を呼び出そうとすることで、(クラスで定義されている場合) オブジェクトをビューに送信すると、これを自動的に実行します。

    したがって、これら 2 つの関数を追加しても (

    toArray() を追加しても問題ありません) リーリー

    返事
    0
  • キャンセル返事