gpt4 book ai didi

php - preg_match() 期望参数 2 是字符串,数组给定错误

转载 作者:行者123 更新时间:2023-12-05 00:49:34 24 4
gpt4 key购买 nike

我正在尝试插入数组,但出现错误:-

preg_match() expects parameter 2 to be string, array given

我的表格如下:

{!! Form::text('description[]',null,['class' => 'input-field input-sm','v-model'=>'row.description']) !!}
{!! Form::text('log_time[]',null,['class' => 'input-field input-sm','v-model'=>'row.log_time']) !!}

我的 Controller 存储功能:

$this->validate($request, $this->rules);
$data = array();
foreach($request->description as $key=>$value){
$data[]=[
'description'=> $value,
'log_time'=> $request->log_time[$key],
'call_id'=>$call->id,
];
}
PortLog::create($data);

当我检查 dd($data)

array:2 [▼
0 => array:3 [▼
"description" => "des"
"log_time" => ""
"call_id" => 16
]
1 => array:3 [▼
"description" => ""
"log_time" => "hi"
"call_id" => 16
]
]

我做错了什么?

最佳答案

您似乎正试图在一个语句中插入多个 port_logs。但是,create() 方法仅用于创建模型的一个实例。您要么需要使用 insert() 语句,要么通过 $data 将代码更新为 foreach 并发出多个 create( ) 语句。

PortLog::insert($data);

// or

foreach($data as $row) {
PortLog::create($row);
}

如果你只想插入数据,又不想实例化一堆 PortLog 实例,那么 insert() 方法就是去。如果您需要为每一行实例化一个新的 PortLog 实例,那么 create() 方法就是要走的路。

关于php - preg_match() 期望参数 2 是字符串,数组给定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39158318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com