#php #laravel #laravel-5.2
#php #laravel #laravel-5
Вопрос:
Где-то в коде есть ошибка, и я, похоже, не могу ее найти, любая помощь была бы отличной. Это простая форма, которая сохраняется в БД.
Приложение использует laravel 5.2, и все, что нужно, это собирать данные. при нажатии кнопки отправки в форме ничего!
маршрут
Route::resource('/form' , 'PagesController');
контроллеру нужно только создавать, создавать и сохранять, это все, что нужно приложению.
<?php
namespace AppHttpControllers;
use Request;
use AppHttpRequests;
use Data;
use AppHttpRequestsDataRequest;
use CarbonCarbon;
class PagesController extends Controller
{
//Display Index
public function index()
{
return view ('welcome');
}
public function create()
{
return view ('create');
}
//Store Articles from form
public function store(DataRequest $request)
{
Data::create($request->all());
return redirect('create')->with('message' , 'Form submitted');
}
}
модель использует простой список защищенных полей и carbon для хранения временных меток
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
use AppHttpRequestsDataRequest;
use CarbonCarbon;
class Data extends Model
{
protected $fillable = [
'name',
'email',
'phone',
'company',
'addcomments',
'published_at',
];
protected $dates = ['published_at'];
//Get all published articles by date
public function scopePublished($query)
{
$query->where('published_at' , '<=' , Carbon::now());
}
//Get all unpublished or future articles
public function scopeUnpublished($query)
{
$query->where('published_at' , '>=' , Carbon::now());
}
// Set form to publish articles with a time and date in the Published_at field
public function setPublishedAtAttribute($date)
{
$this->attributes['published_at'] = Carbon::createFromFormat('Y-m-d' , $date);
}
}
форма
{!! Form::open(['url' => 'form']) !!}
<div class="form-group">
{!! Form::label('name' , 'Name:') !!}
{!! Form::text('name', null , ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('email' , 'EMail:') !!}
{!! Form::text('email', null , ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('phone' , 'Phone Number:') !!}
{!! Form::text('phone', null , ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('company' , 'Company:') !!}
{!! Form::text('company', null , ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('addcomments' , 'Additional Comments:') !!}
{!! Form::textarea('addcomments', null , ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Submit Now', ['class' => 'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
Комментарии:
1. Обновляется ли страница вообще, или она просто ничего не делает, когда вы нажимаете submiit? попробуйте ввести / в URL {!! Form::open([‘url’ => ‘/form’]) !!} .
2. если вы выходите из системы $request в журнал laravel, получаете ли вы все ожидаемые данные?
3. Вы уверены, что этот код вообще работает? Вы используете неправильные пространства имен для данных
4. @MinaAbadir Я считаю, что пространство имен файла данных в порядке… но в PagesController это неправильно…. @Morby … это должно быть
use AppData
вместоuse Data
5. @prateekkathal Это то, что я говорил, он импортирует неправильный класс.
Ответ №1:
Итак, проблема заключалась в том, что упоминалось в комментариях
использовать ДАННЫЕ;
Для
используйте App DATA;
и смесь нескольких небольших настроек интерфейса
все отсортировано