ale*_*lev 2 laravel laravel-5.6
我在Task.php模型中设置了一个自定义主键.
class Task extends Model
{
//
protected $primaryKey = 'taskn';
public $incrementing = false;
}
Run Code Online (Sandbox Code Playgroud)
我还将其设置taskn为迁移中的主键:
$table->string('taskn');
$table->primary('taskn');
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select * from `Task` where `id` = 1 limit 1)
Run Code Online (Sandbox Code Playgroud)
出于某种原因,Laravel仍然试图查询id.
我试图通过以下调用检索数据:
$tasks = DB::table('tasks')->find($taskn);
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
我正在做
$tasks = DB::table('tasks')->find($taskn);
这是你的问题.
DB::电话不使用Eloquent - 你完全绕过它.如果你这样做Task::find($taskn)会工作,但DB::电话不知道你的$primaryKey设置.
| 归档时间: |
|
| 查看次数: |
520 次 |
| 最近记录: |