laravel - 如何从 laravel 控制器发布自定义值
问题描述
我正在尝试从控制器添加一个值并将其与从视图中获得的其他输入一起发送到 mysql。我该怎么做?
我尝试使用 array_merge,尝试将它们放在同一个变量中并使用 Laravel 的创建发送它,但无济于事。
这是代码
价值
$id = 0;
$id++;
$time = "2019-01-01 00:00:00";
$date = new Carbon( $time );
$d = $date->format('Y');
$fmipa = 0;
$fkh = 0;
$lastNumber = 0;
$fk = $request->get('fakultas');
if($fk == 'FMIPA'){
$fmipa++;
$fk = 42;
if($fmipa < 10){
$fmipa="00". $fmipa;
$lastNumber = $fmipa;
}else if($fmipa < 100){
$fmipa="0" . $fmipa;
$lastNumber = $fmipa;
}else{
$fmipa = $fmipa;
$lastNumber = $fmipa;
}
}else{
$fkh++;
$fk = 41;
if($fkh < 10){
$fkh="00". $fkh;
$lastNumber = $fkh;
}else if($fkh < 100){
$fkh="0" . $fkh;
$lastNumber = $fkh;
}else{
$fkh = $fkh;
$lastNumber = $fkh;
}
}
$nim = $d . $fk . "101" . $lastNumber;
Store() 函数
$validator = Validator::make($request->input(), array(
'nama' => 'required',
'alamat' => 'required',
'fakultas' => 'required',
));
if ($validator->fails()) {
return response()->json([
'error' => true,
'messages' => $validator->errors(),
], 422);
}
$mahasiswa = Dashboard::create($request->all() + ['nim' => $nim]);
return response()->json([
'error' => false,
'mhs' => $mahasiswa,
], 200);
我将它们分开以便于阅读,但如果您想知道值的代码是否在 store() 函数中。
我希望它将值发布到数据库中,但我从 XHR 的响应中得到的是
500内部服务器错误
和
SQLSTATE [HY000]:一般错误:1364 字段 'nim' 没有默认值
解决方案
替换存储功能如下
$dashboard = new Dashboard();
$dashboard->nama = $request->nama;
$dashboard->alamat = $request->alamat;
$dashboard->fakultas = $request->fakultas;
$dashboard->nim = $nim;
$dashboard->save();
推荐阅读
- java - JavaFX 如何拖放图像
- reactjs - 开玩笑——编写测试描述的正确方法
- java - Java - 如何同步和并行调用返回字符串的函数?
- react-native - React Native Expo FacebookAds 在 IOS 顶部有额外空间
- ruby-on-rails - 注册信息保存到数据库前付款
- ruby-on-rails - ActiveRecord::ConnectionNotEstablished: ActiveRecord::Base 与 mongoid 没有连接池
- ios - 从数据库中检索数据后重新加载 UiTableView - Swift
- reactjs - 从一个类中获取数据以使其成为 stackNavigator 选项卡的标题?
- python-2.7 - CodeHS 真的很奇怪的问题
- sql-server - SSIS SQL任务不返回字符串日期