【问题标题】:How to add custom data in controller Laravel如何在控制器 Laravel 中添加自定义数据
【发布时间】:2019-12-24 06:02:21
【问题描述】:

我有一个可以发送title, demo, text 之类的数据的表单。这些字段可以由用户插入,但我在表中有user_id,应该由框架本身自动插入。我不想创建<input type='hidden' name='user_id' value='{{Auth::user()->id}}'>,因为它根本不安全。当用户必须填写表单时,如何自动填写user_id

控制器

public function store(Request $request)
{
    //TODO: ADD user_id to this data and insert into tbl
    $v_data = $request->validate([
        'title' => 'required|min:5',
        'demo' => 'required',
        'text' => 'required',
        'category' => 'required|numeric',
    ]);

    Post::create($v_data);

    return redirect()->back();
}

【问题讨论】:

  • 请在您的控制器中显示代码。

标签: laravel controller insert laravel-6


【解决方案1】:

代替:

Post::create($v_data);

你可以使用:

Post::create($v_data + ['user_id' => auth()->id()]);

【讨论】:

  • 哇..我不知道这只是简单的数组..谢谢老兄。
【解决方案2】:

去做吧..

公共函数存储(请求 $request) {

//TODO: ADD user_id to this data and insert into tbl
$v_data=$request->validate([
    'title'=>'required|min:5',
    'demo'=>'required',
    'text'=>'required',
    'category'=>'required|numeric',
]);

$v_data['user_id']=auth()->user()->id;// this extra line

Post::create($v_data);
return redirect()->back();

}

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2019-01-25
    • 2016-07-05
    • 1970-01-01
    • 2019-07-07
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多