我在「類別」表中有下表。
id | 姓名 | parent_id |
---|---|---|
1 | 學生 | 空 |
2 | 老師 | 空 |
3 | 數學學生 | 1 |
4 | 科學學生 | 1 |
我在「發布」表中有下表。
id | 姓名 | category_id |
---|---|---|
1 | 阿傑 | 3 |
2 | 莫漢 | 3 |
模型中的 Post.php 檔案
public function category(){ return $this->belongsTo(Category::class, 'category_id', 'id'); }
如果我放置以下程式碼,我將獲得第三個 id 的名稱,即 math_student。
$post->category->name
但我想取得該類別的parent_id的名稱,即-“學生”
我嘗試了以下程式碼,但錯誤。
$post->category->parent_id->name
請給我建議解決方案
P粉3930309172023-09-13 10:28:10
在類別模型中,新增父關係:
public function parent(){ return $this->belongsTo(Category::class, 'parent_id', 'id')->withDefault(); }
然後,就可以取得父名
$post->category->parent->name
P粉9900084282023-09-13 00:59:29
您需要使用 parent_id
建立關係,以在其內部尋找 Category
的模型實例。
在 Category.php 模型中:
public function parent(){ return $this->belongsTo(Category::class, 'parent_id', 'id'); }
之後,您將能夠:
$post->category->parent->name;