我试图在两列上实现关系,记录\ id和表\ name,
以下是我目前得到的,型号名称:
public function Attachments()
{
return $this->hasMany('App\Attachments','record_id','id')->where('tabel_name','`battery_assets`');
}
请注意,“battery\u asstes”是一个字符串,因此它不是动态的,我尝试将其设置为字符串,但出现以下错误:
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`)
正如你所看到的,我试着把电池资产放在``里,也试着把它们放在双引号的“电池资产”里,也没有引号
另外,请注意batteryassets表没有table\u name列,我只想在where子句中将其用作静态值,我也尝试过这样做
->where('attachments.tabel_name','"battery_assets"');
但它给出了同样的错误
2条答案
按热度按时间4dbbbstv1#
有一个输入错误,现在一切正常:
lvjbypge2#
错误说明找不到column,您试图“调用”的列名称为“tabel\u name”。您确定列名不是“table\u name”吗(table用英语而不是荷兰语,至少我认为你是荷兰人)
所以应该是:
如果您的列在数据库中被称为“tabel\u name”。我建议用英文命名,因为“name”是英文的。