Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте!
Второй день изучаю Laravel 5 (до этого на Kohana долгое время сидел) и возник вопрос.
1. Создал контроллер Apps.
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Session;
use Mail;
class AppsController extends Controller {
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create(Request $request)
{
//
$this->validate($request, [
'school_name' => 'required',
'school_address' => 'required',
'school_dir' => 'required',
'school_phone' => 'required',
'school_site' => 'required',
]);
$school = new \App\School;
$school->school_name = $request->get('school_name');
$school->school_address = $request->get('school_address');
$school->school_dir = $request->get('school_dir');
$school->school_phone = $request->get('school_phone');
$school->school_site = $request->get('school_site');
$school->save();
// Отправляем уведомление о новой записи
Mail::send('emails.welcome', array(
'school_name' => $request->get('school_name'),
'school_address' => $request->get('school_address'),
'school_dir' => $request->get('school_dir'),
'school_phone' => $request->get('school_phone'),
'school_site' => $request->get('school_site'),
'date' => date("d.m.Y"),
), function($message)
{
$message->to('test@test.ru', 'Школа')->subject('Новая запись');
});
return redirect('/')->with('success', 'Данные отправлены. Спасибо!');
}
}
2. Создал модель School.php
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class School extends Model {
protected $table = 'apps';
}
Все работает как надо, но мне не нравится множество $request->get(...) и повторяющиеся названия полей html-формы.
Подскажите, как это можно оптимизировать и написать проще? В идеале, не хотелось бы писать подобное:
$school->school_name = $request->get('school_name');
$school->school_address = $request->get('school_address');
$school->school_dir = $request->get('school_dir');
$school->school_phone = $request->get('school_phone');
$school->school_site = $request->get('school_site');
особенно, если полей будет не 5, а 25 уже не красиво. Можно ли передать массив post, а laravel сам все сделает? =)=)
Не в сети
use Input;
$data = Input::all();
Не в сети
Страницы 1