0

私の目標。userCampaignCampaign_players の 3 つの Laravel モデルがあります。ユーザーに関する情報と、そのユーザーがプレイしているキャンペーンに関する情報を取得したいと考えています。

問題。 このクエリを実行すると:

$campaigns = user::with(['campaigns_playing'])->where('id', $id)->get();

次のメッセージが表示されます。

「ベース テーブルまたはビューが見つかりません: 1146 テーブル 'sagohamnen.campaign_players' が存在しません (SQL: select sh_campaigns.*, campaign_players. user_idas pivot_user_id, campaign_players. idas pivot_idfrom sh_campaignsinner join campaign_playerson sh_campaigns. id= campaign_players. id where campaign_players. user_idin (2))」

何らかの理由でテーブル名が見つからないようです。問題の原因とそれを修正する方法について何か考えがありますか?

これは、私のモデルとそのデータベース テーブルの短いコードです。

ユーザー

protected $table = 'sh_users';
public function campaigns_playing()
{
        return $this->belongsToMany('Sagohamnen\campaign\campaign', 'Sagohamnen\campaign\campaign_players', 'user_id', 'id');
 }

Schema::create('sh_users', function (Blueprint $table) {
        $table->increments('id')->unsigned();
        $table->string('name', 255);
});

運動

protected $table = 'sh_campaigns';

Schema::create('sh_campaigns', function (Blueprint $table) {
        $table->increments('id')->unsigned();
        $table->string('name', 255);               
        $table->timestamps();
});

Campaign_players

protected $table = 'sh_campaign_players';

Schema::create('sh_campaign_players', function (Blueprint $table) {
        $table->integer('user_id')->unsigned();
        $table->integer('campaign_id')->unsigned();
        $table->date('date');
        $table->primary(['user_id', 'campaign_id']);
});
4

1 に答える 1