Php 尽管使用了';可填充';检查所有变量后,我在控制器中的创建方法不会将输入保存到模型
我试图使用表单和控制器将一些数据保存到模型中 表单如下所示:Php 尽管使用了';可填充';检查所有变量后,我在控制器中的创建方法不会将输入保存到模型,php,laravel,laravel-5,Php,Laravel,Laravel 5,我试图使用表单和控制器将一些数据保存到模型中 表单如下所示: <body> <div class="container"> <h1>Assign days to event</h1> {{ Form::open(array('url' => 'days')) }} <div class="form-group"> {{ Form::label('event_na
<body>
<div class="container">
<h1>Assign days to event</h1>
{{ Form::open(array('url' => 'days')) }}
<div class="form-group">
{{ Form::label('event_name', 'Event Name') }}
{{ Form::select('event_name', $events, null) }}
</div>
<div class="form-group">
{{ Form::label('day_number', 'Number of Days') }}
{{ Form::text('day_number', Input::old('day_number'), array('class' => 'form-control')) }}
</div>
{{ Form::submit('Assign!', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
</div>
</body>
namespace StrawDogBuilder\Http\Controllers;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Input;
use View;
use Session;
use Redirect;
use StrawDogBuilder\Day;
use StrawDogBuilder\Event;
use Illuminate\Http\Request;
public function create()
{
$events = Event::pluck('id');
return View::make('days.create')
->with('events', $events);
}
public function store()
{
$rules = array(
'event_id' => 'required',
'day_number' => 'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('days/create')
->withErrors($validator)
->withInput(Input::except('password'));
}
else {
$day = new day;
$day->event_id = Input::get('event_name');
$day->day_number = Input::get('day_number');
$day->save();
Session::flash('message', 'You have assigned this event a number of days');
return Redirect::to('days');
}
}
我的模型是这样的
class Day extends Model
{
protected $fillable = ['id','event_name','day_number'];
public function mods()
{
return $this->hasMany('App\Mod');
}
// Get the Event this day is attributed to
public function event()
{
return $this->belongsTo('App\Event');
}
}
表单创建时没有错误,但是当我向字段添加值并点击“分配”时它将保持在同一页上,并且不会表明它是否做了任何事情。检查该表表明它尚未保存数据
我是否遗漏了导致表单通过控制器保存数据的内容?如果是,可能是什么原因?首先将表单修改为
{!! Form::open(['route'=>'days.store']) !!}
然后在你的控制器里
public function store(Request $request)
{
$this->validate($request,
array(
'event_id' => 'required',
'day_number' => 'required',
)
);
$day = new Day;
$day->event_id = $request->event_name;
$day->day_number = $request->day_number;
$day->save();
Session::flash('message', 'You have assigned this event a number of days');
return redirect()->route('days');
}
今天不是你上课的日子,也不是你上课的日子。您是否在控制器中导入了该模型?@Exprator-类不区分大小写,但我同意使用
Day
会更容易理解@stntmnky-你能提供更多关于模型文件的详细信息,比如名称空间和任何use
语句吗?每天都在修复,我已经导入了模型,但似乎还没有修复。是的,但为了让我们更好地理解,即使使用POST,你也应该遵循一些规则?因为你没有提到类型。因此,通常需要GET请求。请尝试returnresponse()->json($request)代码>在控制器的开始处,检查所有输入是否正确传递