私はSupplierというモデルとSupplierMetaというモデルの間にhasMany関係を設定しました。Eloquent hasMany relationship - 別のキーの値でアイテムを取得できますか?
SupplierMetaが構造を持つテーブルにリンクされている:
id, supplier_id, name, value
とサプライヤーモデルが定義された次のような関係があります。
public function meta() {
return $this->hasMany('Model\SupplierMeta');
}
関係自体は正常に動作しますが、私はしたいと思いますどのようなdoは "name"フィールドでその関係を検索して値を返す別の関数を定義しています。私はそれがこの形式で働きたい:
$supplier->meta->field_name, or $supplier->meta()->field_name
これは、それが存在する場合、関連するSupplierMetaオブジェクトの「値」フィールドを返すか、そうでない場合はfalseを返しますどちらか。これは可能ですか?
何を試しましたか?新しいメソッド内では '$ this-> meta()'をクエリとして使うことができます。 'meta'はコレクションであり、' meta() 'はクエリビルダーオブジェクトです。 – Devon
基本的に私は、関係が - >メタは、それが理にかなっている場合、SupplierMetaの "name"列に基づいて設定されたキーを持つオブジェクトのように扱いたいと思っています。したがって、$ supplier-> meta-> field_nameを実行すると、 "name"属性が "field_name"の値に設定されたSupplierMetaオブジェクトが返されます。 –