カテゴリが他のカテゴリの子孫になることができるカテゴリ システムを作成しています。カテゴリ テーブルと、1 対多の関係を管理する 2 つ目のテーブルを用意する予定です。Laravel でテーブルを参照する方法がわかりません。別のテーブルの場合のように、クラスと同じ名前の関数を宣言するのと同じくらい簡単ですか? これが私の現在の考えです。誰かがよく知っているなら、私に知らせてください。
この場合、私は手作業でコーディングすることに慣れています。一度既存のコードを使用しようとしています。
基本的には、使用している「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;
}
}
そのスニペットは、もともとここで参照できます。