Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Вообще похоже на редирект
Т.е. он получает редирект и до базы ничего не доходит
Ларавел последний.
Пхп 7.1
win10
open server panel
Код использовался уже не один год.
Но в какое то время перестал работать - когда именно хз но относительно недавно.
Думаю это из за обновления Ларавел.
Сам код отправки
Mail::send($this->params['view'], $this->params['data'], function ($message) {
$message->
from($this->params['from'], mb_encode_mimeheader($this->params['fromName'], 'UTF-8'))->
to($this->params['to'])->
subject($this->params['subject']);
if (count($this->params['attach'])) {
foreach ($this->params['attach'] as $display => $pathToFile) {
$message->attach($pathToFile, ['as' => $display, 'mime' => \File::mimeType($pathToFile)]);
}
}
});
Вот что выдает в логах
[2019-01-16 16:04:22] local.ERROR: Process could not be started [⥬ 㤠 㪠 .
]
[2019-01-16 16:04:22] local.ERROR: Malformed UTF-8 characters, possibly incorrectly encoded {"userId":1,"email":"example@mail.ru","exception":"[object] (InvalidArgumentException(code: 0): Malformed UTF-8 characters, possibly incorrectly encoded at D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\JsonResponse.php:75)
[stacktrace]
#0 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\symfony\\http-foundation\\JsonResponse.php(50): Illuminate\\Http\\JsonResponse->setData(Array)
#1 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\JsonResponse.php(31): Symfony\\Component\\HttpFoundation\\JsonResponse->__construct(Array, 500, Array)
#2 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php(435): Illuminate\\Http\\JsonResponse->__construct(Array, 500, Array, 192)
#3 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php(187): Illuminate\\Foundation\\Exceptions\\Handler->prepareJsonResponse(Object(Illuminate\\Http\\Request), Object(Swift_TransportException))
#4 D:\\Ivan\\OSPanel\\domains\\profplay.local\\app\\Exceptions\\Handler.php(49): Illuminate\\Foundation\\Exceptions\\Handler->render(Object(Illuminate\\Http\\Request), Object(Swift_TransportException))
#5 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(83): App\\Exceptions\\Handler->render(Object(Illuminate\\Http\\Request), Object(Swift_TransportException))
#6 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(32): Illuminate\\Routing\\Pipeline->handleException(Object(Illuminate\\Http\\Request), Object(Swift_TransportException))
#7 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#9 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#10 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php(43): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(75): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#17 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#20 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#23 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(66): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#26 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#29 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(684): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#30 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(659): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#31 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(625): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#32 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(614): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#33 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#34 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#35 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#36 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#39 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#42 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#45 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(62): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#48 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#51 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#52 D:\\Ivan\\OSPanel\\domains\\profplay.local\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#53 D:\\Ivan\\OSPanel\\domains\\profplay.local\\public_html\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#54 {main}
"}
Крошки это только пример.
Но как их заполнять тогда - во вью передавать все данные?
Сейчас я просто не пойму как везде использовать
Breadcrumbs
не вписывая
use App\Extensions\Breadcrumbs\Breadcrumbs;
$_SERVER['REMOTE_ADDR'] == '111.111.111.111' ? true : false
Эта часть выполнится только если 'APP_DEBUG' не указана.
Так что так неправлиьно.
Вроде бы правильно наоборот
$_SERVER['REMOTE_ADDR'] == '111.111.111.111' ? true : env('APP_DEBUG')
Т.е. если адрес какой нужно то дебуг будет тру иначе взять из енва
Снова вернулся к этому вопросу.
2) Как правильно сделать, чтобы в контроллерах не использовать везде
use App\Extensions\Breadcrumbs\Breadcrumbs;
Сейчас я придумал тока добавить его в композер - автолоад - файлс - но это как то неправильно.
Ну пока я планирую в старую часть сайта ларавел не использовать вообще - ибо согласен - гемор изрядный.
Пока у меня такой план - при логине в старый части формировать куку\сессию не только для старой версии но и для новой.
И соответственно в новой формировать не тока для новой но и для старой.
Но скорее всего и на это забью.
Просто в старой версии сделаю вход совместимый с ларавелем - соответственно пароли да - похерим.
Можно будет делать проверку - типа если по новому не логиниться - то логиним по старому -
но пароль - хеш при этом генерим - чтобы с следующий раз логинило по новому.
По крайней мере это избавит от поддержки двух версий логинов в перспективе.
Но даже как к этому приступить тоже не совсем понимаю.
Добрый день.
Хочу переводить древний сайт на ларавел 5.6.
Решил делать это по роутам - через хтаксесс - просто отправлять новые роуты на другой индекс пхп - от ларавеля.
НУ и потихоньку и старые тоже.
И возникло много вопросов - по использованию компонентов ларавел отдельно от него самого.
Из них главный - чтобы начать - как сделать совместимого пользователя - чтобы чел залогиненный в старой версии был виден в новой и наоборот?
Вся суть сводится к выставлению правильных кук в старой версии для ларавеля, в ларавеле для старой версии.
Я готов переписать алгоритм в старой версии - чтобы не поддерживать 2 паралельно.
Может есть какой то пакет или алгоритм или как то по простому можно.
Этот пакет я смотрел:
https://github.com/davejamesmiller/laravel-breadcrumbs
Но решил что он слишком огромный для моих скромных нужд.
По поводу вопросов тогда оставляю один:
2) Как правильно сделать, чтобы в контроллерах не использовать везде
use App\Extensions\Breadcrumbs\Breadcrumbs;
Т.е. где то в одном месте прописать что надо.
И потом просто писать везде в коде: Breadcrumbs::add($post->full_url, $post->short_name);
или что нить подобное.
Добрый день.
Ларавел 5.6
Написал небольшой код для breadcrumbs: (но именно это счас не важно.)
<?php
namespace App\Extensions\Breadcrumbs;
class Breadcrumbs
{
static private $breadcrumbs = [
'/' => 'Home',
];
static function add(string $url, string $description): void
{
self::$breadcrumbs[$url] = $description;
}
static function render()
{
return view('extensions.breadcrumbs', [
'breadcrumbs' => self::$breadcrumbs,
]);
}
}
Использовать примерно так:
(в контроллере при выводе одной статьи)
use App\Extensions\Breadcrumbs\Breadcrumbs;
...
public function single($id_key)
{
$post = Posts::where('id_key', $id_key)->first();
Breadcrumbs::add($post->full_url, $post->short_name);
return view('pages.single', [
'row' => $post,
]);
}
Во вьюхе так:
{!! Breadcrumbs::render() !!}
Добавил в алиасы в config/app.php
'aliases' => [
...
'Breadcrumbs' => App\Extensions\Breadcrumbs\Breadcrumbs::class,
Теперь вопросы:
1) Как можно инициализировать статический класс - чтобы например можно было бы подставить не home а главная - т.е. использовать конфиг или интернационализацию?
2) Как правильно сделать, чтобы в контроллерах не использовать везде
use App\Extensions\Breadcrumbs\Breadcrumbs;
3) Как сделать чтобы была вьюха для крошек по умолчанию но ее можно было бы при желании перекрыть?
Ну и может так в целом какие то советы.
Просто по аналогии с крошками я потом сделаю еще несколько блоков и наверно сделаю из них пакет.
И хочу разобраться на этом этапе - пока кода 20 строк.
На разных хостингах могут сработывать разные настройки хттпс редиректа
У меня что-то такое тоже не работало.
А вот такое отлично сработало.
# https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Ну и если и это не сработает то в интернетах есть и еще варианты...
В зависимости от верстки. Я в нужных шаблонах наследовался от разных шаблонов.@extends('with_sidebar_layout')@extends('without_sidebar_layout')
Да пожалуй для этого случая это более правильно - разные шаблоны.
Но все равно вопрос- где хранить какие нить сквозные переменные для приложения.
Добрый день.
laravel 5.6
Не могу понять как лучше сделать.
Есть в views переменная.
Допустим
with_sidebar
По умолчанию она должна быть true,
но для некоторых страниц - например для главной false
Во вьюхе понятно - можно сделать например так:
@if($with_sidebar)
<section id="primary" class="content-area">
@include('layouts/main')
</section><!-- #primary -->
@include('layouts/sidebar')
@else
<section id="primary" class="content-area" style="width: 100%">
@include('layouts/main')
</section><!-- #primary -->
@endif
Из вью тоже в общем понятно - просто передаем ее как false
А где лучше задать значение по умолчанию,
ну и может вообще весь список таких возможных параметров?
Добрый день.
Подскажите есть ли возможность автоматического генерирования форм для модели.
Объясняю на примере.
Я работаю со старым самописным фреймворком и там можно сделать примерно так
В модели:
public function init()
{
$this->fields[$this->table] = array(
'id' => array(
'label' => 'ID',
),
'status' => array(
'label' => 'Статус (status)',
'default' => 1,
'field' => 'radiogroup',
'options' => 'status_list',
'user_group' => array(1),
),
'uid' => array(
'default' => $this->user->id,
),
'postdate' => array(
'label' => 'Дата публикации (postdate)',
'default' => time(),
),
'title' => array(
'label' => 'Заголовок (title)',
'field' => 'input',
'rules' => 'trim|strip_tags|required|max_length[245]',
),
'short_title' => array(
'label' => 'Краткий Заголовок (short_title)',
'field' => 'input',
'rules' => 'trim|strip_tags|required|max_length[245]',
),
'category' => array(
'label' => 'Категория (category)',
'field' => 'select',
'options' => 'category_list',
'default' => isset($this->category) ? $this->category : '',
),
'body' => array(
'label' => 'Текст статьи (body)',
'field' => 'html',
'rules' => 'trim|required',
),
'img' => array(
'label' => 'Фото (img)',
'field' => 'file',
'rules' => 'callback[model.' . $this->model_class . '.upload,img]',
),
);
}
причем status_list это функция:
public function status_list($val = NULL)
{
static $list = array(
0 => 'Отключен',
1 => 'Включен',
);
if ($val !== NULL) {
return $list[$val];
}
return $list;
}
и потом для любой модели можно вывести ее форму для создания или изменения с валидацией и т.д.
типа модель->form->render.
Есть ли в ларавел что нить такое? +-
Ну или пакет может быть какой нибудь похожий.
Чтобы для каждой модели форму не готовить - а описать ее подобным образом и всё?
Добрый день.
Хром автоматом переходит на https если домен ".dev"
Возможно есть и другие подобные.
Я использую ".local" все нормально.
Браузер ругается но работать дает.
Да в том то и дело, что неуверен.
И fillable и guarded подходят для выполнения задачи.
Но они предназначены для того чтобы в поле таблицы не записать что нить лишнее - опасное.
А тут ситуация как бы наоборот - в таблице нет таких полей. Но они есть в форме.
Наверно использую guarded.
Просто неужто такая вещь вообще никому не встречалась.
Данные получаются из формы для заполнения человеков.
Потом они попадают в модель человеков.
Это вполне удобно и в целом разумно, на текущий момент.
Я не хочу переделывать эту часть сейчас.
Но перед тем как сделать man->save()
мне приходится эти данные убирать, потому что в таблице в бд нету полей для этого.
unset($man->prices, $man->spo_id); //fixme: А то не сохранится man при бронировке.
а вот это уже как то нелогично и мне не нравится.
И вопрос про это.
Добрый день.
Из формы я получаю поля которые относятся к модели
Например скидка пользователя - выбирается пенсионер, ребенок и т.п.
Но в таблице пользователей таких полей нет и они не нужны там.
В конечном итоге это информация о заказе.
Удобно хранить их на момент обработки с пользователем - чтобы по алгоритмам оно там было, но перед сохранением я делаю вот так:
unset($man->prices, $man->spo_id); //fixme: А то не сохранится man при бронировке.
И это как-то выглядит неправильно.
Как я понимаю можно использовать guarded - но вроде как он не для этого задуман.
Подскажите как правильнее это сделать?
Добрый день.
Можно просто в таблице migration заполнить нужные миграции как будто они уже были.
Добрый день.
Ларавел 5.5
Загружаю файл через форму.
В обработке валидации надо пройтись по этому файлу - построчно и проверить количество и формат строк.
Не могу понять как это правильно сделать.
Создал отдельное правило:
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class FileStructureRule implements Rule
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return false;
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return trans('messages.projectFileValidation');
}
}
В
public function passes($attribute, $value)
{
return false;
}
в $value получаю
Illuminate\Http\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => test.txt
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => text/plain
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 55
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[hashName:protected] =>
[pathName:SplFileInfo:private] => D:\Test\OpenServer\userdata\temp\php78C.tmp
[fileName:SplFileInfo:private] => php78C.tmp
)
Как я понимаю сейчас предполагается куда нить этот файл сохранить и потом с ним работать.
Но как то не очень мне это нравится - может есть способ правильнее
Страницы 1