Laravel 我犯了这个错误;传递给Illumb\Database\Grammar::parameterize()的参数1必须为以下类型

Laravel 我犯了这个错误;传递给Illumb\Database\Grammar::parameterize()的参数1必须为以下类型,laravel,insertion,Laravel,Insertion,当我尝试将数据插入表时,会发生此错误 传递给Illumb\Database\Grammar::parameterize()的参数1必须是在C:\xampp\htdocs\Portal\vendor\laravel\framew中调用的给定字符串数组类型 看法 尝试更改控制器逻辑 public function store(Request $request) { // $member=$request->input('GroupID'); foreach($memb

当我尝试将数据插入表时,会发生此错误

传递给Illumb\Database\Grammar::parameterize()的参数1必须是在C:\xampp\htdocs\Portal\vendor\laravel\framew中调用的给定字符串数组类型

看法
尝试更改控制器逻辑

 public function store(Request $request)
{
    //
    $member=$request->input('GroupID');
    foreach($member as $value){
        $storeInfo = new notice();
        $storeInfo->GroupID = $value;
        $storeInfo->Notice = $request->input('Notice');
        $storeInfo->save();
    }

        return redirect('/notice');
}

尝试更改控制器逻辑

 public function store(Request $request)
{
    //
    $member=$request->input('GroupID');
    foreach($member as $value){
        $storeInfo = new notice();
        $storeInfo->GroupID = $value;
        $storeInfo->Notice = $request->input('Notice');
        $storeInfo->save();
    }

        return redirect('/notice');
}

我想您之所以会出现此错误,是因为:

$storeInfo->GroupID = $request->input('GroupID');
$request->input('GroupID')
将返回一个数组(
name='GroupID[]'
),而不是单个id

由于您已经在组ID中循环,因此可以使用
组ID的值:

public function store(Request $request)
{
    foreach ($request->input('GroupID') as $groupId) {
        $storeInfo = new notice();
        $storeInfo->GroupID = $groupId; //<--here
        $storeInfo->Notice = $request->input('Notice');
        $storeInfo->save();
    }

    return redirect('notice');
}
公共函数存储(请求$Request)
{
foreach($request->input('GroupID')作为$GroupID){
$storeInfo=新通知();
$storeInfo->GroupID=$GroupID;//通知=$request->input('Notice');
$storeInfo->save();
}
返回重定向(“通知”);
}

我想您出现此错误的原因是:

$storeInfo->GroupID = $request->input('GroupID');
$request->input('GroupID')
将返回一个数组(
name='GroupID[]'
),而不是单个id

由于您已经在组ID中循环,因此可以使用
组ID的值:

public function store(Request $request)
{
    foreach ($request->input('GroupID') as $groupId) {
        $storeInfo = new notice();
        $storeInfo->GroupID = $groupId; //<--here
        $storeInfo->Notice = $request->input('Notice');
        $storeInfo->save();
    }

    return redirect('notice');
}
公共函数存储(请求$Request)
{
foreach($request->input('GroupID')作为$GroupID){
$storeInfo=新通知();
$storeInfo->GroupID=$GroupID;//通知=$request->input('Notice');
$storeInfo->save();
}
返回重定向(“通知”);
}

你能解释一下你改变了什么以及为什么。$storeInfo->GroupID=$value;你能解释一下你改变了什么以及为什么吗。$storeInfo->GroupID=$value;这是我最初的想法,但错误消息似乎是反向的:“必须是数组类型,字符串给定”。@Timleis是的,我知道你的意思!这似乎有点违反直觉。这是我最初的想法,但错误消息似乎是相反的:“必须是数组类型,字符串给定”。@Timleis是的,我知道你的意思!这似乎有点违反直觉。如果下面的帖子回答了您的问题,请您将其标记为已接受:)谢谢。如果下面的帖子回答了您的问题,请您将其标记为已接受:)谢谢。