2016-10-06 1 views
0

の5 reletionshipのhasManyのは、私がこれまでに得たものであるモデル名のBatteryAssets:laravel 2列

public function Attachments() 
    { 
     return $this->hasMany('App\Attachments','record_id','id')->where('tabel_name','`battery_assets`'); 
    } 

注意してください。 「battery_asstes」の文字列であること、それはダイナミックではありませんので、私は文字列としてそれを作るためにしようとしているが、次のエラーを取得:あなたは私が私がbattery_assetsを入れしようとしたんだ見るよう

QueryException in Connection.php line 761: 
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tabel_name' in 'where clause' (SQL: select * from `attachments` where `attachments`.`record_id` = 1 and `attachments`.`record_id` is not null and `tabel_name` = `battery_assets`) 

を私はそれらを二重引用符 '' battery_assets ''に入れようとしました。また引用符もありません。

また、BatteryAssetsテーブルにはtable_nameカラムがありません。 where句での静的な値は、またColomn見つからない言う私は

->where('attachments.tabel_name','"battery_assets"'); 

を行うためにtryiedましたが、それは同じエラー

答えて

0

エラーを与え、あなたは「呼び出し」にしようとしている列名です「tabel_name」と呼ばれます。列名が 'table_name'ではありませんか? (英語とオランダ語ではないのテーブル、私はあなたがオランダ人だと思う少なくとも)

だから、次のようになります。

public function Attachments() 
    { 
     return $this->hasMany('App\Attachments','record_id','id')->where('table_name','`battery_assets`'); 
    } 

あなたの列は、データベースで「tabel_name」と呼ばれている場合。英語のネーミングをお勧めします。なぜなら、「名前」は英語だからです。タイプミスがありました

+1

はありがとうございました---------------- – Mikail

0

、それはすべてが動作するようになりました:

public function Attachments() 
    { 
     return $this->hasMany('App\Attachments','record_id','id')->where('table_name','battery_assets'); 
    } 
関連する問題