-2

我已经为我的学校开始了一个新项目,所以我真的是 Laravel 的初学者。

我的 laravel 似乎在猜测表名而不是我。当我尝试使用邮递员获取一些数据时,它说;

“SQLSTATE [42S22]:未找到列:1054 'where 子句'中的未知列'teachers.id'(SQL:从教师中选择 *,其中教师.id = 5 限制 1)”。

但是“teachers.id”不是我的专栏名称。它的“Teacher_ID”但它猜测而不是我。

这可能是一个非常简单的问题,但我真的是 laravel 的初学者。

编辑。

错误-路由-控制器-表迁移-模型-资源

4

1 回答 1

3

由 Dafault Laravel 将 id 列视为 PRIMARY KEY

但如果它不同,那么您可以使用:

 protected $primaryKey = 'primary_key_column';

为避免此类问题,请始终用id作主列。

当你调用关系时,Laravel 还会猜测表名、本地键和外键。如果您的密钥不是 laravel 所期望的,那么您可以告诉 laravel 找到哪个密钥。

Laravel 猜测表作为其模型类名称的复数。

如果模型类是,User那么 laravel 会猜测表名users 如果你的表不同,那么使用这一行。

protected $table = 'your_table_name';
于 2018-08-16T18:56:34.963 回答