【发布时间】:2019-12-29 07:01:53
【问题描述】:
我试图存储从 mysql 检索到的选定值(名称),但它存储的是 id 而不是名称?有什么建议吗?
观看次数
{{ Form::select('dept',$departments->pluck('name'),null, ['class' => 'form-control','required','placeholder'=>'Select Department']) }}
路线
Route::get('/', function () {
$departments=Department::pluck('name','id');
return view('index',compact('departments'));
});
控制器
public function store(Request $request)
{
$this->validate(request(), [
'fname' => 'required',
'lname' => 'required',
'staffId' => 'required',
'email' => 'required|email',
'dept' => 'required',
'role' => 'required',
'password' => 'required|confirmed'
]);
$departments=Department::pluck('name','id');
$departments->name = $request ->input('dept');
$user = User::create(request(['fname','lname','staffId','email','dept','role','password']));
auth()->login($user);
return redirect()->to('/home2');
}
型号
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Department extends Model
{
protected $fillable=['name'];
protected $table='department';
}
【问题讨论】:
-
您应该存储 id,而不是实际值。请记住,mysql 是一个关系数据库管理系统。当您查询存储的值时,使用连接来获取属于 id 的名称。
-
...除非您的意思是存储密钥而不是值
标签: mysql laravel-5 select model