Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Я не силен в laravel, но думаю проблема вот в чем, когда первый раз фильтруешь, то данные приходят из формы, все хорошо, все работает, но в этот момент, после перезагрузки страницы, форма очищается, следовательно при переходе на вторую страницу, делается обращение к товей функции, где выполняется вот это условие, т.к. форма чистая:
if (!isset($data['_token'])) { // загрузка страницы без фильтрации
$products = DB::table('products')
->where('products.category_id', 7)
->select('products.id', 'products.title', 'products.url', 'products.description', 'products.price', 'products.created_at', 'products.status_product', 'products.hits')
->orderBy('products.created_at', 'DESC')
->paginate(10);
return $products;
}
Думаю понятно, в чем проблема) Надо менять логику этой функции.
П.С. Поправьте, если где-то ошибся)
HunterNomad, покажи код. Каким образом фильтруешь и делаешь пагинацию.
Все еще актуально)
Нету. Чтобы подобное работало, необходимо заключать договор с сотовой компанией, далее они тебе дадут доступ к API, благодаря которому можно будет написать свой компонент.
Недостаточно прав для записи файла.
Видел, что в документации написано, что необходимо установить права для папки "storage", а про vendor ничего не написано.
Пробовал установить такие же права, как для storage:
$ sudo chmod -R o+w storage/
Но ошибка осталась.
После переустановке ОС, перенес все файлы проекта, создал БД, указал ее в настройках, но при попытке накатить миграции возникают ошибки:
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/opt/lampp/htdocs/shop/storage/logs/laravel-2015-05-22.log" could not be opened: failed to open stream: Permission denied' in /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:84
Stack trace:
#0 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(88): Monolog\Handler\StreamHandler->write(Array)
#1 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\RotatingFileHandler->write(Array)
#2 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Logger.php(265): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#3 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Logger.php(543): Monolog\Logger->addRecord(400, 'exception 'Unex...', Array)
#4 /opt/lampp/htdocs/shop/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(47): Monolog\Logger->error('exception 'Unex...')
in /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 84
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/opt/lampp/htdocs/shop/storage/logs/laravel-2015-05-22.log" could not be opened: failed to open stream: Permission denied' in /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:84
Stack trace:
#0 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(88): Monolog\Handler\StreamHandler->write(Array)
#1 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\RotatingFileHandler->write(Array)
#2 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Logger.php(265): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#3 /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Logger.php(543): Monolog\Logger->addRecord(400, 'exception 'Symf...', Array)
#4 /opt/lampp/htdocs/shop/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(47): Monolog\Logger->error('exception 'Symf...')
in /opt/lampp/htdocs/shop/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 84
Как это исправить?
Jack_White, спасибо. Этим способом все реализовал.
Alex1234, Но ведь, если это вьюху записать, не совсем красиво получается. А у меня именно во вьюхе циклом проходится по массиву, в котором и лежит этот json. Можно ли как-то более изящно решить эту проблему?
Wide, Спасибо. Разобрался.
Wide, насколько я понял, то данный метод пропускает всех зарегистрированных пользователей. Можно ссылку, где подобное более подробно расписывается. В доках этого не увидел. http://laravel.com/docs/5.0/middleware
Здравствуйте. Есть контроллер, к которому имеют доступ только администраторы. Как создать middleware, в документации нашел, но как потом в конструкторе прописать, чтобы он использовал определенный middleware, не пойму.
К примеру, создаю Middleware:
php artisan make:middleware AdmMiddleware
Там напишу логику, которая будет просить пользователя авторизоваться, если он авторизован или перебрасывать на страницу с ошибкой, если недостаточно прав. Но как теперь в конструкторе использовать этот Middleware?
Quiss, использовал предложенный Вами вариант решения проблемы. На данный момент все работает.
Здравствуйте. Интересует такой вопрос, на сайте есть меню, для которого я сделал подшаблон(menu.blade.php). Данные в меню динамические, то есть сегодня этот элемент существует, а завтра его удалят. Каким образом можно организовать такое событие, чтобы при использование контроллера данные грузились из БД и передавались в подшаблон(что-то вроде конструктара). И каким образом передать данные в подшаблон либо достаточно их передать в шаблон и они будут доступны в подшаблоне?
П.С. До этого, когда еще не использовал фреймворки, писал не красивые костыли. В данном случае хочу их избежать.
П.С.С Прошу прощение за столь частые вопросы)
Wide, спасибо. Второй способ использовал.
Здравствуйте. Не могу разобраться в одной ситуации. Получаю данные из БД, затем передаю их в вид:
$data = Order::all();
return View::make('template.home', $data);
Но я не понимаю, как мне обработать эти данные в самом виде. Пробовал таким образом:
@if (!empty($data))
@foreach ($data as $value)
{{$value->Time}}
@endforeach
@else
<p>Записей нету</p>
@endif
Но результат выполнения постоянно отрицательный, то есть записей нету. Хотя в таблицы они присутствуют.
Что я не делаю? Может что-то упустил.
schel4ok, к сожалению не помогло. Сделал так, вручную удалил таблицы, в том числе и migrations, после чего выполнил:
migrate:install
Затем
migrate
Таким образом сработало. Может проблема в том, что надо выполнять migrate только после, того как будет заполнены методы up & down?
Здравствуйте. Создал три файла миграции, используя данную команду:
php artisan migrate:make create_users_table
П.С. Естественно с разными именами
После чего в 2 из них в соответствующие события добавил следующий метод:
Schema::create('goods', function($table) {
$table->increments('ID');
$table->string('Name');
$table->text('Discriptions');
$table->integer('Price');
$table->string('Size');
$table->timestamp();
});
Для другого соответственно другие значения. После чего выполнил команду:
php artisan migrate
Две таблицы успешно были созданы. Но тут я решил дописать в третий файл, созданный для третей миграции, аналогично добавляю код в метод up и down, но после выполнения команды:
php artisan migrate
Третья таблица не создается, а в консоли появляется сообщение:
Nothing to migrate
В чем проблема? Что я сделал не так?
Wide, для меня одним из удобств является автоматизация процесса, то есть меньше кода. Можете привести пример кода с шаблонизатором blade и без, если, конечно, не трудно.
Здравствуйте. Не могли бы Вы объяснить в чем преимущества использование шалонизатора blade? Как я понял, то я таким же образом могу просто инклюдить какие-либо файлы.