Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel更新数据库多个记录_Php_Laravel - Fatal编程技术网

Php laravel更新数据库多个记录

Php laravel更新数据库多个记录,php,laravel,Php,Laravel,我是拉雷维尔的新手。我只是想更新一整行mysql表。正在从表单发送数据。我只更新了2条记录,其余的都为空。我确信Controller中的字段名与表单中的输入字段名匹配,也与mysql表中的输入字段名匹配。 我还确保模型中“filleble”方法中列出的字段 在控制器中,尝试: 公共职能部门批准($id,请求$Request) { $name=$request->input('name'); $mark=$request->input('mark'); $email=$request->input

我是拉雷维尔的新手。我只是想更新一整行mysql表。正在从表单发送数据。我只更新了2条记录,其余的都为空。我确信Controller中的字段名与表单中的输入字段名匹配,也与mysql表中的输入字段名匹配。 我还确保模型中“filleble”方法中列出的字段

在控制器中,尝试:

公共职能部门批准($id,请求$Request)
{
$name=$request->input('name');
$mark=$request->input('mark');
$email=$request->input('email');
$dob=date('Y-m-dh:i:s',strottime($request->input('dob'));
$country=$request->input('country');
证书::其中('id','=',$id)
->更新([
“马克”=>$马克,
“name”=>$name,
“dob”=>美元dob,
“国家”=>$country
]);
}
我也试过了

$query = DB::update("UPDATE certificates SET name='$name', mark='$mark', dob='$dob', country='$country' WHERE id='$id'");

请让我知道我可能做错了什么。谢谢你使用DB facade,我有一个类似的错误,所以这就是我使用的

use Illuminate\Support\Facades\DB;


 DB::table('certificates')
    ->where('id', $id)
    ->update([
    'mark' => $request->mark,
    'name' => $request->name, 
    'email' => $request->email,
    'dob' => $request->dob,
    'country' => $request->country
]);

是否确实收到表单中的所有字段,并且没有验证?是的,现在没有验证您正在使用where子句更新。您将只更新满足where子句的记录。是的,这就是我试图执行的操作,但是在第id=2行,当您调用函数时,我无法更新该行上的所有记录。是否?