人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel の 1対多 リレーション

● Laravel全リレーション

1対1
1対多
多対多
Has Many Through
1対1(ポリモーフィック)
1対多(ポリモーフィック)
多対多(ポリモーフィック)

これらのうち 1対多 リレーションを操作してみます。

● Laravel の 1対多リレーション(hasMany)

    /**
     * ● 1対多リレーション : ->items でショップ内の商品を取得します
     *
     * ソート順 : sort_no , ASC
     *
     */
    public function items()
    {
        return $this->hasMany('App\Item','shop_id')->orderBy('sort_no','ASC');
    }

● 使用方法

->items で取得できます

dump( $user->items );

● Laravel の 1対多リレーション(hasMany)に検索条件をつける

後ろの where() メソッドを追加することで条件をつけることができます。

    /**
     * ● 1対多リレーション : ->items_active でショップ内のアクティブな商品を取得します
     *
     * ソート順 : sort_no , DESC
     *
     */
    public function items_active()
    {
        return $this->hasMany('App\Item','shop_id')->where('is_active','=',1)->orderBy('sort_no','ASC');
    }
No.1484
06/21 13:07

edit