gpt4 book ai didi

php - Laravel - 注册不在数据库中保存表单响应

转载 作者:搜寻专家 更新时间:2023-10-30 23:34:35 25 4
gpt4 key购买 nike

我正在尝试创建一个注册页面,但数据没有发送到我的数据库中。而且我没有任何错误。

这是 Controller :(由 Laravel 生成)

namespace App\Http\Controllers\Auth;

use App\PostUser;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller
{

protected $primaryKey = "id_biodiv_acteur";
protected $table = "acteur";

use RegistersUsers;

protected $redirectTo = '/pages/users';

public function __construct()
{
$this->middleware('guest');
}

protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'surname' => 'string|max:255',
...
'picture' => 'image'
]);
}

protected function create(array $data)
{

dd($request->all());
return PostUser::create([
'nom' => $data['name'],
'prenom' => $data['surname'],
...
'image' => $data['picture']
]);
}
}

var dump 和 die 不工作,所以没有调用 create()。输入表单后我不会重定向,它只是重新加载页面

我的 register.blade.php :

<div class="add-content container">

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<h1>&bull; Ajouter un utilisateur &bull;</h1>
<div class="underline"></div>

<form action="{!! route('register') !!}" accept-charset="UTF-8" method="post" role="form">
{!! csrf_field() !!}
<div class="column-left">

<label class="has-float-label" for="name">
<input class="" type="text" placeholder="" name="name" required>
<span>Nom</span>
</label>

<label class="has-float-label" for="password">
<input class="" type="password" placeholder="" name="password" required>
<span>Mot de passe</span>
</label>

...

<label class="has-float-label" for="picture">
<input type="file" name="picture" multiple>
<span>Ajoutez des images</span>
</label>
</div>
<button type="submit" name="button">Enregistrer</button>
</form>
</div>

我添加到 Controller 的模型 (PostUser.php) :

use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Auth\Events\Registered;

class PostUser extends Model
{

public $timestamps = false;
protected $primaryKey = "id_acteur";
protected $table = "acteur";

protected $fillable = [
'nom',
'prenom',
...
'image'
];
}

我对 create() 的最后更新:

protected function create(Request $request)
{
//dd($request->all());
$this->validate($request, [
'name' => 'required|string|max:255',
'surname' => 'string|max:255',
'password' => 'required|string|min:6|confirmed',
'country' => 'required|string|max:255',
'birthDate' => 'date',
'mobile' => 'required|string|max:45',
'email' => 'required|string|email|max:255|unique:acteur',
'city' => 'string|max:255',
'type' => 'string|max:45',
'numberMember' => 'string|max:255',
'acessNumber' => 'int|max:11',
'gender' => 'string|max:45',
'fax' => 'string|max:45',
'telephone' => 'string|max:45',
'adress' => 'string|max:255',
'postalCode' => 'string|max:16',
'motivation' => 'required|string|max:255',
'state' => 'string|max:45',
'picture' => 'image'
]);

return PostUser::create([
'nom' => $data['name'],
'prenom' => $data['surname'],
'mot_de_passe' => bcrypt($data['password']),
'pays' => $data['country'],
'date_naissance' => $data['birthDate'],
'mobile' => $data['mobile'],
'email' => $data['email'],
'ville' => $data['city'],
'type' => $data['type'],
'num_adherent' => $data['numberMember'],
'niveau_acces' => $data['accessNumber'],
'civilite' => $data['gender'],
'fax' => $data['fax'],
'telephone' => $data['telephone'],
'adresse' => $data['adress'],
'code_postal' => $data['postalCode'],
'raison_sociale' => $data['motivation'],
'statut' => $data['state'],
'image' => $data['picture']
]);
}

最佳答案

引用以下代码。

public function create(Request $request)
{
$this->validate($request, [
'nom' => 'required',
'surname' => 'required',
]);
$create = PostUser::create($request->all());
}

关于php - Laravel - 注册不在数据库中保存表单响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44795912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com