Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Я сделал в контроллере функцию отправки сообщения с вложением.
Но почему-то не могу понять как сделать это вложение не обязательным. Сейчас при попытке отправки сообщения без вложения возникает вот такая ошибка
ErrorException in PageController.php line 59:
Undefined index: attachment
вот такая конструкция не помогает - ошибка не пропадает
if ( $input['attachment']->getRealPath() ) { $message->attach ..... }
вот полный код контроллера
app/Http/Controllers/PageController.php
<?php namespace App\Http\Controllers;
use Form;
use Input;
use Mail;
use Redirect;
use Request;
use Session;
use Validator;
use App\Category;
use App\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\ContactFormRequest;
class PageController extends Controller {
public function sendmail(ContactFormRequest $request)
{
$category = Category::where('sef', '=', 'contacts')->first();
$input = Input::all();
// return var_dump($input['attachment']->getRealPath());
Mail::send('emails.contacts',
array(
'name' => $request->input('name'),
'tel' => $request->input('tel'),
'email' => $request->input('email'),
'user_message' => $request->input('message'),
'url' => $request->url(),
),
function($message) use ($request, $input)
{
$message->from('admin@mail.ru', $request->input('name') );
$message->to('test@mail.ru', 'test');
// $message->сс('user@mail.ru', 'user');
$message->replyTo($request->input('email'), $request->input('name') );
$message->subject('Письмо со страницы контактов');
if ( $input['attachment']->getRealPath() )
{
$message->attach($input['attachment']->getRealPath(), array(
'as' => $input['attachment']->getClientOriginalName(),
'mime' => $input['attachment']->getMimeType()));
}
});
return Redirect::route('contacts')->withCategory($category)
->with('message', 'Ваше сообщение успешно отправлено!');
}
и еще незначительная проблема, которая не особо важна, но показалась мне странной
поле 'name' имеет вот такую валидацию
'name' => 'required|alpha|max:30|min:2',
но когда я случайно ввел имя по английски, то получил ошибку, как будто я ввел не буквы
Страницы 1