【问题标题】:Insert array data in separate database row in a field not the same Laravel在不同的字段中的单独数据库行中插入数组数据 Laravel
【发布时间】:2022-01-24 11:28:29
【问题描述】:

我正在尝试将数组数据插入数据库,在表单提交时使用以下输入字段 (Name, Age, Amount) 但我得到 数组到字符串的转换 错误,所以我在变量中添加了 json_encode() 以防止错误,但现在的问题是插入到数据库中,数组数据是在同一行中插入数据,我想要它在同一文件的不同行中,请参见下图谢谢

B是我想要得到的结果

控制器

    public function store(Request $request)
    {

    $userid = rand(10000,99999);
    $username = $request->get('uname');
    $userage = json_encode($request->get('uage'));
    $useramount = json_encode($request->get('uamount');


    if (isset($username)){
        foreach ( $request->get('uname') as $username) {
            $add[] = [
                'user_id' => $userid,
                'user_name' => $username,
                'user_age' => $userage,
                'user_amount' => $useramount,
            ];
        }
        Person::insert($add);
    }

}

【问题讨论】:

    标签: laravel laravel-5 laravel-8


    【解决方案1】:

    早上好,希望我能正确理解您的问题。 您的输入需要如下所示:

    <input name="user[name]" />
    <input name="user[age]" />
    <input name="user[amount]" />
    

    其存储功能如下:

    public function store(Request $request){
    $userid = rand(10000,99999);
    $user = $request->get('user');
    if (isset($user)){
            Person::query()->create([
                'user_id' => $userid,
                'user_name' => $user['name'],
                'user_age' => $user['age'],
                'user_amount' => $user['amount'],
            ]);
    }}
    

    【讨论】:

    • HI @Afshin Tavakolian,感谢您的回复,但它只是向数据库中插入一列,我有 clone 表单输入(姓名、年龄、金额)我的意思是两个姓名、年龄、金额输入表,这就是foreach的原因
    • 要做到这一点,只需将输入的名称更改如下: user[][name] user[][age] user[][amount] 还有存储代码 sn-p 像这样: 公共函数存储(请求 $request){ $userid = rand(10000,99999); $users = $request->get('user'); if (isset($users)){ foreach($users as $user){ Person::query()->create([ 'user_id' => $userid, 'user_name' => $user['name'], 'user_age' => $user['age'], 'user_amount' => $user['amount'], ]); } }}
    猜你喜欢
    • 2018-10-08
    • 2021-10-27
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    相关资源
    最近更新 更多