[英]One-to-many relationship without actual foreign key
我想像本教程中那樣建立一對多關系。
~~~一對多
一對多關系的一個示例是“有很多”評論的博客帖子。 我們可以像這樣對這種關系建模:
class Post extends Eloquent {
public function comments()
{
return $this->hasMany('Comment');
}
}
~~~
所以我想做一個模型發布(連接到表“ posts”)和一個模型注釋(連接到表“ comments”)。 我正在phpMyAdmin中創建表,而不是進行遷移(因為在線服務器上沒有SSH支持)。 注釋表中有一列“ posts_id”。
我可以用嗎 ...
$comments = Post::find(1)->comments;
..沒有在phpmyadmin中的兩個表之間定義外鍵關系?
如果答案為是。
我應該在“注釋”表中輸入列名“ post_id”還是類似的名稱,還是要使其起作用? 就像您將使用普通外鍵一樣?
您不必在MySQL端顯式聲明外鍵,但至少必須創建一個post_id
列,該列將被Laravel用作外鍵。
當然,您可以根據需要命名此列,並在關系的聲明中進行指定:
class Post extends Eloquent {
public function comments()
{
return $this->hasMany('Comment', 'post_primary_key');
}
}
您還可以在PHPMyAdmin中將此列聲明為外鍵,以提高數據庫的健壯性,但這不是Laravel的事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.