我正在使用Laravel 4.2.*
我有一个User
模型,其中insert()
方法正常工作但是当我使用create()
方法时,它会抛出一个错误:
数组到字符串转换
我的模特:
class User extends Eloquent{
public $table = 'users';
protected $primaryKey = 'user_id';
protected $fillable = ['first_name', 'last_name', 'created_by'];
public function insertUserInfo($data)
{
//return self::insert($data); //working with no error but not adding `created_at`
return self::create($data); //Array to string conversion
}
}
示例数据:
$data = [
'first_name' => 'Jhon',
'last_name' => 'Doe',
'created_by' => Auth::id() // var_dump(Auth::id()) => int(11)
];
如果有人可以帮助我create()
发生错误,那将会有所帮助。
PHP v5.6.3
EDITED
我可以确保$data
内没有数组值。使用$data
或insert()
方法时create()
使用同一个save()
,但会出错。
答案 0 :(得分:1)
添加array
类型提示:
public function insertUserInfo(array $data)
{
return self::create($data);
}