Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Для информации http://help.ubuntu.ru/wiki/apache2
см. заголовок "Виртуальные хосты"
Отвечу исходя из личного опыта. Бизнес-логика связанная с конкретной моделью должна содержаться в её классе, в виде методов, для максимального упрощения работы с данной моделью в контроллерах. Но всю бизнес-логику приложения не следует пытаться вынести в модель.
А контроллер, по сути, отвечает за вызов и координацию методов моделей в зависимости от переданных параметров. Главное не делать его слишком жирным.
Советую в сторону ОРМ посмотреть то бишь Eloquent
чтобы можно было сделать так
https://laravel.com/docs/5.2/eloquent#mass-assignment
Согласен с этим.
Но, всё таки, следующий код в контроллере является правильным:
ScheduleRelation::insert(['s_id' => $id, 'u_id' => $user->id]); Schedule::where('id', '=', $id)->decrement('slots');
?
Лучше сделать с помощью ORM, будет примерно следующее:
Model::create(['s_id' => $id, 'u_id' => $user->id]);
$model->getByLastSlot();
Для таких целей можно использовать виджеты
https://packagist.org/packages/arrilot/laravel-widgets
У виджета есть свой класс с бизнес логикой и вьюха.
Подключается виджет путём добавления кода
@widget('menu')
в нужный вам шаблон (view)
Также в него можно передавать необходимые параметры.
А я виджеты для таких целей использую
https://packagist.org/packages/arrilot/laravel-widgets
Довольно удобно
Nogard7491 пишет:won пишет:php artisan ide-helper:models
После добавления свойства в таблицу. Только почитайте документацию о именовании таблиц или как в модели указать имя таблицы.
так он вроде как для автозаполнения нужен!? с этим проблем нет
Да вы правы. Обьясните зачем вам такой механизм?
Хотелось бы сделать возможность добавления новых свойств в админке для последующего использования, похожие механизмы есть в WordPress плагин CustomFields или в Bitrix - там уже этот функционал встроен в CMS.
А если в главную страницу добавить 'middleware' => 'web'?
Боюсь сказать глупость, но помимо всего прочего web запускает сессию, во всяком случае я использую его на всех страницах где нужно проверять авторизован ли пользователь.
И проверьте в config/session.php, чтобы домен был установлен 'domain' => 'vash-site.ru'
Я вот думаю пока сделать модель для таблицы из полей (ключ, значение), что-то в этом роде. Но хотелось бы свойства модели хранить в одной таблице.
php artisan ide-helper:models
После добавления свойства в таблицу. Только почитайте документацию о именовании таблиц или как в модели указать имя таблицы.
так он вроде как для автозаполнения нужен!? с этим проблем нет
Здравствуйте, можно ли в laravel делать динамические свойства для модели?
Добавили свойство в таблицу и в модели его уже можно использовать. Может быть по другому такая схема как то реализуется?
Нашёл решение https://github.com/arrilot/laravel-widgets буду наверно его использовать.
Я и делаю его через Node.js и Redis, и хотелось бы чтобы чат отвечал за себя, а не брал данные из контроллера страницы.
Да и дело тут даже не в чате, есть некий блок с информацией. Нужно чтобы он самостоятельно её получал, а не использовал данные из контроллера. Такое возможно сделать?
Пользуясь случаем хочу поздравить всех с праздником!
Ну и собственно описание вопроса: Есть виджет чата, который подключается в нескольких шаблонах blade. Как лучше реализовать получение сообщений для чата? В контроллерах для каждой страницы это реализовывать, или есть более подходящий способ?
Была идея попробовать это реализовать в посреднике, а потом выделить все запросы в группу с этим посредником, если такое возможно. Но очень сильно подозреваю, что сие есть извращение.
Не могу нечего сказать определённого, может кто другой ответит)
php artisan make:controller PhotoController --resource
спасибо, был не внимателен к деталям
А вот так не работает
User::find(1)->posts->select('id','title','description')->get()->toArray()
/** Записи пользователя */
public function posts()
{
return $this->hasMany('App\Models\Post');
}
Спасибо, вот правильный запрос User::find(1)->select('id','title','description')->get()->toArray()
Можно и не выводить, но не хочу большие тексты запрашивать из базы.
User::find(1)->posts->select('id','title','description')->toArray(); - ошибка, метод не найден
Это метод для прямых выборок из базы.
я разрабатываю под 7 версией php, проблем не возникало.
Есть таблица posts с полями [id, title, description, text]. Нужно вывести все записи с первыми 3-мя полями. Как можно реализовать используя ORM, а не чистый запрос к БД?
Массив $hidden действует глобально как я понимаю, а мне нужно в рамках одного запроса.
Думаю так и сделаю, спасибо
Нашёл решение проблемы c logout
http://stackoverflow.com/questions/3447 … ot-working
Нужно изменить AuthController
public function __construct()
{
$this->middleware('guest', ['except' => ['logout', 'getLogout']]);
}
Dimon945, честно говоря я не особо уверен, что это правильное решение. Сейчас у меня не работает logout. Пробую разобраться с проблемой.
Используйте посредник web там где нужна проверка авторизации
Route::group(['middleware' => ['web']], function () {
Route::get('/', function () {
return Auth::check();
});
});
Кто нибудь знает как получить количество символов для ввода пароля из AuthController?
return Validator::make($data, [
'name' => 'required|max:255|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
Хочу брать отсюда значение и подставлять в атрибут input'a "maxlength".
Если получить нельзя, то как бы правильно реализовать такое.