3

カテゴリが他のカテゴリの子孫になることができるカテゴリ システムを作成しています。カテゴリ テーブルと、1 対多の関係を管理する 2 つ目のテーブルを用意する予定です。Laravel でテーブルを参照する方法がわかりません。別のテーブルの場合のように、クラスと同じ名前の関数を宣言するのと同じくらい簡単ですか? これが私の現在の考えです。誰かがよく知っているなら、私に知らせてください。

この場合、私は手作業でコーディングすることに慣れています。一度既存のコードを使用しようとしています。

4

1 に答える 1

3

基本的には、使用している「Category」モデルに関係メソッドを設定する必要があります。たとえば、親カテゴリの主キー (おそらく 'id' または 'category_id') を追跡するためのフィールド 'parent_id' を持つ 'categories' というテーブルがあるとします。

これにより、リレーションシップ情報を処理するための 2 つ目のテーブルは必要なくなり、親を持つ 1 つのテーブルだけで済みます。

例はここにあります。関連するスニペットを以下に貼り付けました。

public function children() {
    return $this->has_many('Category', 'parent_id'); 
}
public function parent(){
    if($this->parent_id !== null && $this->parent_id > 0){
        return $this->belongs_to('Category','parent_id');
    } else {
        return null;
    }
}

そのスニペットは、もともとここで参照できます。

于 2013-07-15T19:34:34.480 に答える