Plugins
とUser
という名前の2つのmodels
があります。私は、many to many relationship
にpivot table
というplugin_user
という名前をつけて、migration
という名前のcreate_users_plugins_table.php
に入れようとしています。Laravel多対多関係エラー
スキーマで次のとおり
public function userplugins(){
return $this->belongsToMany('App\Plugins')->withPivot('contents');
}
コードに従うことによって行をフェッチ中:
$user = User::findorFail($id);
return $user->userplugins()->first()->contents;
私は関係する機能を以下きUser model
において
public function up()
{
Schema::create('plugin_user', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->integer('plugins_id');
$table->json('contents');
$table->timestamps();
});
}
次のエラーが発生しました:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nitsbuilder.plugins_user' doesn't exist (SQL: select
plugins
.*,plugins_user
.user_id
aspivot_user_id
,plugins_user
.plugins_id
aspivot_plugins_id
,plugins_user
.contents
aspivot_contents
fromplugins
inner joinplugins_user
onplugins
.id
=plugins_user
.plugins_id
whereplugins_user
.user_id
= 1 limit 1)
このバグを修正する際に私を助けてください。
おかげ
あなたはすでに移行を実行していますか? 'Plugins'モデルのコードは何ですか? –
それは簡単です:plugin_user!== plugins_userエラーはあなたに問題を正確に伝えます。あなたはplugins_userではなくplugin_userを定義しています - リレーション内の参照先テーブル名を変更することができますhttps://laravel.com/docs/5.1/eloquent-relationships#many-to-many –
@ArifulHaque私は既にそれを行っています。 –