Php 在laravel中,尝试注册一家公司,但当单击“提交”按钮时,它会再次将我重定向回表单,并且在DB中不创建任何条目

Php 在laravel中,尝试注册一家公司,但当单击“提交”按钮时,它会再次将我重定向回表单,并且在DB中不创建任何条目,php,laravel,Php,Laravel,这是我的报名表 @extends('Layouts.master') @section('title') welcome @endsection @section('content') @if(count($errors)>1) <div class="row"> <div class="col-md-4"> <ul> @foreach($errors->all(

这是我的报名表

@extends('Layouts.master')

@section('title')
welcome
@endsection

@section('content')

@if(count($errors)>1)
    <div class="row">
        <div class="col-md-4">
            <ul>
                @foreach($errors->all() as $errors)
                    <li>{{$errors}}</li>
                @endforeach
            </ul>
        </div>
    </div>
@endif
<div class="row" style="background-color:#FFF8F2;">

    <div class="col-lg-2">

    </div>
    <div class="col-lg-8">

        <div class="panel panel-danger">
            <div class="panel-heading">
                <h3>Sign Up As A Company</h3>
            </div>
            <div class="panel-body">
                <form action="{{route('companysignup')}}" method="post" role="form">
                    <div class="form-group">
                        <label>Enter Company Name</label>
                        <input placeholder="Enter Name"  name="company_name" class="form-control">
                    </div>
                    <div class="form-group">
                        <label>Enter Owner Name</label>
                        <input placeholder="Enter Owner Name" name="owner_name" class="form-control">
                    </div>
                    <div class="form-group">
                        <label>Enter Owner Email</label>
                        <input placeholder="Enter Owner Email" name="email" class="form-control">
                    </div>
                    <div class="form-group">
                        <label>Enter Phone Number</label>
                        <input placeholder="Enter Phone Number"  name="phone_number" class="form-control">
                    </div>
                    <div class="form-group">
                        <label>Company Type</label>
                        <select name="company_type" class="form-control">
                            <option>Combined</option>
                            <option>Individual</option>
                            <option>None</option>
                        </select>
                    </div>
                    <div class="form-group">
                        <label>Country</label>
                        <select name="country" class="form-control">
                            <option>Pakistan</option>
                            <option>Sudia Arabia</option>
                            <option>America</option>
                            <option>India</option>
                        </select>
                    </div>

                    {{--<div class="form-group">--}}
                        {{--<label>Attach Registration Extract</label>--}}
                        {{--<input type="file" name="file">--}}
                    {{--</div>--}}
                    <div class="form-group">
                        <label>Enter short description about your company</label>
                        <textarea name="description" rows="3" class="form-control"></textarea>
                    </div>
                    <div class="form-group">
                        <label>Enter  Password</label>
                        <input name="password " type="password" placeholder="Enter Password" class="form-control">
                    </div>
                    {{csrf_field()}}
                    <input class="btn btn-outline btn-danger" type="submit" value="Submit">

                </form>
            </div>
            <div class="panel-footer">

            </div>

        </div>

    </div>

    <div class="col-lg-2">

    </div>
</div>
@endsection
增加了公司注册功能

public function companySignUp(Request $request)
{

    $this->validate($request,[
        'email' => 'required|email|unique:users',
        'password' => 'required|min:6',
        'company_name' => 'required|max:120',
        'owner_name' => 'required|max:120',
        'phone_number' => 'required|min:12|max:14',
        'company_type' => 'required',
        'country' => 'required',
        'description' => 'required'
    ]);

    $email = $request['email'];
    $password = bcrypt($request['password']);

    $user = new User();
    $user->email = $email;
    $user->password = $password;
    $user->role = 1; // Regular = 0, Company - 1
    $user->save();

    $company_name = $request['company_name'];
    $owner_name = $request['owner_name'];
    $country = $request['country'];
    $phone_number = $request['phone_number'];
    $company_type = $request['company_type'];
    $description = $request['description'];

    $company = new Company();
    $company->user_id = $user->id;
    $company->company_name = $company_name;
    $company->owner_name = $owner_name;
    $company->phone_number = $phone_number;
    $company->company_type = $company_type;
    $company->country = $country;
    $company->description = $description;

    $company->save();
    return view('frontend.user');
}

现在您可以在控制器中检查我的功能,请建议我解决此问题的方法。首先,由于某些原因,您的验证失败。其中一个原因是国家是必需的,但您不发送任何国家。您的国家/地区选项都为空。是的

<select name="country" class="form-control">
    <option>Pakistan</option>
    <option>Sudia Arabia</option>
    <option>America</option>
    <option>India</option>
</select>

这将创建一个公司并将对象返回给您

请显示
companySignUp
方法。欢迎使用StackOverflow!请编辑您的问题,并尝试以源代码块格式设置源代码的格式,包括所有
{
字符和其他相关行。这将帮助其他读者理解您的代码。可能是因为您的注册函数中有验证代码,请显示该函数的内容。这是我的验证函数$This->validate($request,[‘email’=>‘required | email | unique:users’、‘password’=>‘required | min:6’、‘name’=>‘required | max:120’、‘username’=>‘required | max:120’、‘phone | u number’=>‘required | min:12 | max:14’、‘gender’=>‘required’、‘country’=>‘required’);我更新了我的问题并添加了companysignup函数。另外值得注意的是,
$request
变量实际上是一个对象,而不是一个关联数组,您可以使用
$request->attr
$request->get('attr')访问需要的属性
如果我的答案对您有所帮助,请将其标记为解决方案,或者至少是向上投票。stackoverflow就是这样工作的。但如果没有,一切都好。
public function companySignUp(Request $request)
{

    $this->validate($request,[
        'email' => 'required|email|unique:users',
        'password' => 'required|min:6',
        'company_name' => 'required|max:120',
        'owner_name' => 'required|max:120',
        'phone_number' => 'required|min:12|max:14',
        'company_type' => 'required',
        'country' => 'required',
        'description' => 'required'
    ]);

    $email = $request['email'];
    $password = bcrypt($request['password']);

    $user = new User();
    $user->email = $email;
    $user->password = $password;
    $user->role = 1; // Regular = 0, Company - 1
    $user->save();

    $company_name = $request['company_name'];
    $owner_name = $request['owner_name'];
    $country = $request['country'];
    $phone_number = $request['phone_number'];
    $company_type = $request['company_type'];
    $description = $request['description'];

    $company = new Company();
    $company->user_id = $user->id;
    $company->company_name = $company_name;
    $company->owner_name = $owner_name;
    $company->phone_number = $phone_number;
    $company->company_type = $company_type;
    $company->country = $country;
    $company->description = $description;

    $company->save();
    return view('frontend.user');
}
<select name="country" class="form-control">
    <option>Pakistan</option>
    <option>Sudia Arabia</option>
    <option>America</option>
    <option>India</option>
</select>
<option value="paskistan">Pakistan</option>
$company = Company::create([
    'user_id' => $user->id,
    'company_name' => $request->company_name,
    'owner_name' => $request->owner_name,
    //add all in your input the same way 
    'description' => $request->description
]);