Laravel で自己参照関係を作成するにはどうすればいいですか? 質問する

Laravel で自己参照関係を作成するにはどうすればいいですか? 質問する

私は Laravel 初心者です。自己参照モデルを作成したいだけです。たとえば、フィールドがparent_id製品カテゴリ ID と同じ製品カテゴリを作成したいのですが、どうすればできますか?

下記モデル

class Product_category extends Eloquent 
{
    protected $guarded = array();

    public static $rules = array(
        'name' => 'required',
        'parent_id' => 'required'
    );

     function product_category()
    {
        return $this->belongsto('Product_category','parent_id');
    }
}

関数の最大ネストレベル '100' に達したため、中止しました。エラー

ベストアンサー1

モデルにリレーションを追加し、リレーション フィールドにカスタム キーを設定できます。

アップデート:

この構造を試してください

class Post extends Eloquent {

    public function parent()
    {
        return $this->belongsTo('Post', 'parent_id');
    }

    public function children()
    {
        return $this->hasMany('Post', 'parent_id');
    }
}

古い回答:

class Post extends Eloquent {

    function posts(){
        return $this->hasMany('Post', 'parent_id');
    }
}

おすすめ記事