Laravel,使用create方法的空白记录

时间:2017-08-03 16:43:20

标签: php laravel

我在Laravel中遇到了create()方法的问题。 每当我尝试使用此代码在数据库中创建新记录时:

    $website = Website::create([
        'user_id' => auth()->user()->id,
        'name' => $request->name,
        'url' => $request->url,
        'description' => $request->description,
        'subcategory_id' => $request->subcategory_id,
        'user_id' => $request->subcategory_extra_id,
    ]);

列user_id(在数据库中)等于0,而我的id是1.当然,我的模型中有可填充变量:

    protected $fillable = [
    'user_id',
    'name',
    'url',
    'description',
    'subcategory_id',
];

我尝试使用常量值而不是auth() - > user() - > id但我在数据库中仍然有0作为user_id。使用save()方法解决了这个问题,但我更喜欢使用create()。

3 个答案:

答案 0 :(得分:0)

您已在密钥中列出user_id两次。第二次,整数是空的。

'user_id' => $request->subcategory_extra_id,
//observe

答案 1 :(得分:0)

为什么在代码中使用'user_id两次? 一个是

'user_id' => auth()->user()->id, 

另一个是

'user_id' => $request->subcategory_extra_id,

只使用一个而不是两个。并尝试使用以下方式:

'user_id' => Auth::user()->id;

请记住:在这种情况下,您必须use Auth类的命名空间。

希望它能运作

答案 2 :(得分:0)

尝试使用它   使用Auth命名空间 然后

$website = Website::create([
        'user_id' => Auth::user()->id,
        'name' => $request->name,
        'url' => $request->url,
        'description' => $request->description,
        'subcategory_id' => $request->subcategory_id,
    ]);