【发布时间】:2020-01-19 01:46:49
【问题描述】:
我正在设置用户个人资料页面,但我无法将数据插入mysql 服务器。
我无法弄清楚并解决这个问题。
我的个人资料文件夹中有index.blade.php,从索引页面转到create.blade.php。
当我输入提交按钮时,我的页面重定向到
index.blade.php, 但在mysql服务器中,没有任何记录。
web.php
Route::prefix('user')->group(function(){
Route::resource('profile', 'UserController');
});
create.blade.php
<form action="{{route('profile.store')}}" method="POST">@csrf
<ul class="information">
<li>Name :<br>
<input type="text" class="name" name="name">
</li><br>
<li>Gender :<br>
<div class="gender">
<select name="gender" id="" name="gender">
<option class="option" value="" selected="selected">Select Gender</option>
<option value="male" >Male</option>
<option value="female" class="selected">Female</option>
<option value="any">Any</option>
</select>
</div>
</li>
<li>Country :<br>
<div class="country">
<select name="country" id="" name="country">
<option value="" selected="selected">Select Country</option>
<option value="United States" class="selected">United States</option>
<option value="United Kingdom">United Kingdom</option>
</select>
</div>
</li><br>
<li>Birthday :<br>
<input type="text" class="birthday" id="bod" name="bod">
</li><br>
<li>User Description :<br>
<textarea name="description" id="" cols="60" rows="10"></textarea></li>
</ul>
<button type="submit" class="saveBtn">Save</button>
</div>
</form>
</div>
UserController.php
public function index()
{
return view('profile.index');
}
public function create()
{
return view('profile.create');
}
public function store(Request $request) {
$user_id = auth()->user()->id;
Profile::where('user_id',$user_id)->update([
'name'=>request('name'),
'gender'=>request('gender'),
'country'=>request('country'),
'bod'=>request('bod'),
'description'=>request('description')
]);
return redirect()->route('profile.index');
}
配置文件.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Profile extends Model
{
protected $fillable = [
'user_id','name', 'gender', 'country', 'bod', 'description'
];
}
【问题讨论】:
-
dd($request('name'));在store函数中运行会产生什么结果?你得到了正确的值吗? -
不清楚您是在尝试存储新记录还是更新旧记录。如果它是新的,我猜你应该使用 save() 而不是 update。
-
@GayanS.Muthukumarana '函数名必须是字符串'出现。
-
@fmsthird 我要插入第一条记录。
-
我已经给出了答案。试试看
标签: php database laravel laravel-5 store