php - 下拉列表中的值未传递到 Laravel php 中的 Controller

标签 php mysql laravel-4 laravel-blade

我的 View (“注册”页面)包含一堆输入字段和一个下拉列表。由于某种原因,所有输入字段数据都会顺利传递到 Controller ,但下拉列表中的值不会传递。这使我的代码失败 - 返回以下错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'carehome_type' cannot be null (SQL: insert into `users` (`email`, `password`, `code`, `active`, `carehome_name`, `carehome_type`, `updated_at`, `created_at`) values (myemail@gmail.com, yzmBHUNQTNbE6nGA90Adq1w4BTGXWYyV8mvwNVUoGx4KrMQiAlSSseZ4DkuyitCZNUa5N59nUiOy.iCKie8w3LD0SHs52YCBUp9lt6JbRA0Z6wuqi, 0, ergerg, , 2014-04-10 11:25:42, 2014-04-10 11:25:42, ?))

这是代码:

@extends('layout.main')


@section('content')

<form action="{{URL::route('account-create-post')}}" method="post">

    <div class='field'>
        Email:              <input type='text' name='email'{{ (Input::old('email')) ?  'value="' . e(Input::old('email')) . '"'  :  ''}}>

        @if($errors->has('email'))
            {{$errors->first('email') }}
        @endif

    </div>

    <div class='field'>
        Username:           <input type='text' name='username'{{ (Input::old('username')) ?  'value="' . e(Input::old('username')) . '"'  :  ''}}>
        @if($errors->has('username'))
            {{$errors->first('username') }}
        @endif
    </div>

    <div class='field'>
        Password:           <input type='password' name='password'>
        @if($errors->has('password'))
            {{ $errors->first('password') }}
        @endif  

    </div>

    <div class='field'>
        Password (again):   <input type='password' name='password_again'>
        @if($errors->has('password_again'))
            {{ $errors->first('password_again') }}
        @endif
    </div>


    <div>
        Carehome type:
        <select >
            <option value="Independent" name='carehome_type'>Independent</option>
            <option value="">-------------</option>
            <option value="Chain#_1" name='carehome_type'>Chain#_1</option>
            <option value="Chain#_2" name='carehome_type'>Chain#_2</option>
            <option value="Chain#_3" name='carehome_type'>Chain#_3</option>
            <option value="Chain#_4" name='carehome_type'>Chain#_4</option>
            <option value="Chain#_5" name='carehome_type'>Chain#_5</option>
        </select> 
    </div>

    <div class='field'>
        Carehome name:  <input type='text' name='carehome_name'>
        @if($errors->has('carehome_name'))
            {{ $errors->first('carehome_name') }}
        @endif
    </div>





<br>



                            <input type='submit' value='Create account'>
    {{ Form::token() }}
</form>
@stop

最佳答案

您的 Carehome 类型选择框没有名称,因此不会传递其数据。它的选项确实有一个名称,但该名称参数不应该存在。

所以代替这个:

Carehome type:
    <select >
        <option value="Independent" name='carehome_type'>Independent</option>
        <option value="">-------------</option>
        <option value="Chain#_1" name='carehome_type'>Chain#_1</option>
        <option value="Chain#_2" name='carehome_type'>Chain#_2</option>
        <option value="Chain#_3" name='carehome_type'>Chain#_3</option>
        <option value="Chain#_4" name='carehome_type'>Chain#_4</option>
        <option value="Chain#_5" name='carehome_type'>Chain#_5</option>
    </select> 

使用这个:

Carehome type:
    <select name="carehome_type">
        <option value="Independent">Independent</option>
        <option value="">-------------</option>
        <option value="Chain#_1">Chain#_1</option>
        <option value="Chain#_2">Chain#_2</option>
        <option value="Chain#_3">Chain#_3</option>
        <option value="Chain#_4">Chain#_4</option>
        <option value="Chain#_5">Chain#_5</option>
    </select> 

关于php - 下拉列表中的值未传递到 Laravel php 中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22987081/

相关文章:

php - "Displaying X to Y of Z results"使用 Codeigniter 分页库?

python - Django 中 MySQL 配置不正确

php - 在 codeigniter 中,我如何使用 where 子句进行连接

php - 如何从 Laravel 4 中的替代目录加载 View

php - 如果已发送部分响应(分块),如何将浏览器发送到错误页面

php - SEO 和异步页面加载

php - 如何限制 glob 返回的文件数量以节省内存?

mysql - 记录未从 MySQL 数据库中删除

php - 我如何解决 Laravel 4 中的 "Target [Interface] is not instantiable"?

javascript - Laravel 4 - 未捕获类型错误 : Cannot read property 'post' of undefined