Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 01.03.2015 08:14:43

rusbear28

Подскажите по Validation

Здравствуйте!

Второй день изучаю 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 smile уже не красиво. Можно ли передать массив post, а laravel сам все сделает? smile=)=)

#2 01.03.2015 11:39:23

Re: Подскажите по Validation

Не в сети

#3 02.03.2015 16:55:33

Re: Подскажите по Validation

use Input;

$data = Input::all();

Не в сети

Подвал раздела