【发布时间】:2021-11-06 16:54:12
【问题描述】:
我不知道错误在哪里,数据没有保存到数据库中。任何人都可以帮助我将其全部使用。我被困在这些天了。提前谢谢你。
我的路线
Route::get('/reject','RejectionReasonsController@index');
Route::post('/reject','RejectionReasonsController@store');
我的控制器(RejectionReasonsController)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class RejectionReasonsController extends Controller
{
public function index(){
$record = RejectionReason::all();
return view('reject');
}
public function store(Request $request){
$record= new RejectionReason();
$record->reason_title = request('reason_title');
$record->save();
return redirect('/routes');
}
}
我的模型文件(拒绝原因)
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class RejectionReasons extends Model
{
protected $fillable = ['reason_title'];
}
我的刀片文件(reject.blade.php)
<div class="form-check">
<form action="/store" class="textbox" method="POST">
<h5><b> Select Reasons: </b></h5>
<input type="checkbox" id="rejectReason1" name='reason_title[]' value='No responce'> No responce <br>
<label for="Rejection">
<input type="checkbox" id="rejectReason2" name='reason_title[]' value='Skills mismatch'> Skills mismatch
</label>
<br />
<div id="txtReasonRejected1" style="display: none">
<input type="text" id="Reasons1" />
</div>
<input type="checkbox" id="rejectReason3" name='reason_title[]' value='Culture mismatch'> Culture mismatch <br>
<input type="checkbox" id="rejectReason4" name='reason_title[]' value='Salary expectation mismatch'> Salary expectation mismatch <br>
<label for="Rejection">
<input type="checkbox" id="rejectReason5" name='reason_title[]' value='Not enough knowledge/inclination for ColoredCow'> Not enough knowledge/inclination for ColoredCow
</label>
<br />
<div id="txtReasonRejected2" style="display: none">
<input type="text" id="Reasons2" />
</div>
<button type="submit">Reject</button>
</form>
</div>
我不知道错误在哪里,数据没有保存到数据库中。任何人都可以帮助我将其全部使用。我被困在这些天了。提前谢谢你。
【问题讨论】:
-
首先将您的请求数据转储到控制器中,例如 dd($request);
-
由于您已将复选框的名称属性的值设置为数组 reason_title[],因此 $request->reason_title 的值将是一个字符串数组。如果要将其存储为一条记录,则需要使用 ',' 进行内爆,或者可以通过循环 $request->reason_title 来存储多条记录
-
除非你设置了另一个路由
action="/store"不会命中那个控制器方法。您的表单中还缺少@csrf
标签: laravel eloquent model laravel-8