第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 同步返回 SQLSTATE[42S22]

Laravel 同步返回 SQLSTATE[42S22]

PHP
紫衣仙女 2022-12-30 17:53:25
我正在嘗試使用同步方法保存 2 個模型的 ID,但出現(xiàn)此錯誤:消息:“SQLSTATE[42S22]:未找到列:1054 ‘字段列表’中的未知列‘cable_core_id’(SQL:插入closure_cores (cable_core_id,core_id)值(20、28))”截屏這是我發(fā)送到后端的數(shù)據(jù)楷模TitikClosurclass TitikClosur extends Model{    public function cores(){        return $this->belongsToMany(CableCore::class, 'closure_cores', 'core_id');    }}CableCoreclass CableCore extends Model{    public function closures(){        return $this->belongsToMany(TitikClosur::class, 'closure_cores', 'closure_id');    }}控制器public function store(Request $request){  $titik = new TitikClosur;  //...  $titik->save();  $titik->cores()->sync($request->cores, false);  return....}圖式這就是我保存 ID 的表的樣子public function up()    {        Schema::create('closure_cores', function (Blueprint $table) {            $table->id();            $table->foreignId('core_id');            $table->foreignId('closure_id');            $table->timestamps();        });        Schema::table('closure_cores', function (Blueprint $table) {            $table->foreign('core_id')->references('id')->on('cable_cores')->onUpdate('cascade')->onDelete('cascade');            $table->foreign('closure_id')->references('id')->on('titik_closurs')->onUpdate('cascade')->onDelete('cascade');        });    }任何的想法?
查看完整描述

1 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗 獲得超6個贊

如果沒有其他指示,laravel 期望數(shù)據(jù)透視表上的外鍵名稱是表名的單數(shù)形式,并在末尾加上 _id。您在 belongsToMany 聲明中犯了一個錯誤。您在兩個語句中切換了鍵,cores() 返回的關(guān)系認(rèn)為 core_id 指的是 TitikClosur 的 id,并假定 CableCore 模型必須具有鍵 cable_core_id,但在表中找不到它。此外,兩個模型中的兩個關(guān)系函數(shù)無法共享信息。所以你真的應(yīng)該這樣做:


class TitikClosur extends Model

{

    public function cores(){

        return $this->belongsToMany(CableCore::class, 'closure_cores', 'closure_id', 'core_id');

    }

}


class CableCore extends Model

{

    public function closures(){

        return $this->belongsToMany(TitikClosur::class, 'closure_cores', 'core_id', 'closure_id');

    }

}

回應(yīng)您的更新:


第二個錯誤通常意味著您的數(shù)據(jù)庫中沒有 ID 為 34 的 CableCore。


查看完整回答
反對 回復(fù) 2022-12-30
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號