Pre*_*oso 5 php database laravel eloquent
如果我在模型中使用以下代码片段,它会插入数据:
$instance = DB::table('users')->insert(compact('email', 'username'));
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
$instance = static::create(compact('email', 'username'));
Run Code Online (Sandbox Code Playgroud)
它插入空值,但插入了 created_at 和 updated_at。
Laravel 的created_at/updated_at是Illuminate\Database\Eloquent\Model. 原始DB::table查询生成器不是 Eloquent 模型,因此没有这些自动参数。
NULL数据正在插入 Eloquent 查询中,因为 Eloquent 有一个$fillable您需要定义的参数。该参数设置可以批量分配哪些列。当您执行fill、create或以其他方式实例化新对象时,Laravel 会删除不在该数组中的属性。在您的模型中,您需要:
class User extends Eloquent {
protected $fillable = ['email', 'username'];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10577 次 |
| 最近记录: |