2

リレーションシップ(innoDB)を持つ2つのテーブル(ユーザーとプロジェクト)をセットアップする初期移行があります。

$table->foreign('user_id')->references('id')->on('users');

2つのEloquentモデルを設定しましたが、関係を除いて空白です。

return $this->has_many('Project');

モデルとデータベースの関係について雄弁に語る必要がありますか?Laravelがスキーマから推測するのと同じくらい包括的なものを想定していましたか?足りないものはありますか?

4

1 に答える 1

2

そうです、モデルで関係を定義する必要があります。

Laravelはスキーマを分析しません。外部キーインデックスの使用は実際には必須ではありません。このブートストラップは回避できますが、従来とは異なるテーブル名と列名を使用したり、FluentQueryBuilderを使用してリレーションシップクエリを変更したりすることもできます。

今のところ、魔法が減り、コントロールが増えます。

于 2012-10-07T09:07:29.157 に答える