我为我的学校启动了一个新项目,所以我真的是Laravel的初学者。
我的Laravel似乎在猜测表名而不是我。当我尝试使用邮递员获取一些数据时,它说;
“ SQLSTATE [42S22]:找不到列:1054'where子句'中的未知列'teachers.id'(SQL:从* where where教师.id = 5限制1的教师中选择*)”。
但是“ teachers.id”不是我的列名。它的“ Teacher_ID”,但它代替我猜测。
这可能是一个非常简单的问题,但我确实是laravel的初学者。
编辑。
答案 0 :(得分:3)
Dafault Laravel会将id列视为PRIMARY KEY
但是如果不同,则可以使用:
protected $primaryKey = 'primary_key_column';
为避免此类问题,请始终使用id
作为主列。
Laravel在调用关系时也会猜测表名称,本地键和外键。如果您的钥匙不是laravel期望的钥匙,那么您可以告诉laravel查找哪个钥匙。
Laravel猜测表为其模型类名称的复数形式。
如果模型类为User
,则laravel会猜测表名称为users
如果您的表不同,请使用此行。
protected $table = 'your_table_name';