Laravel по-русски

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

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

#76 Re: Laravel 5.x » Как правельно разбить вид » 07.03.2017 12:01:48

Что то для меня сложно сильно )
Подскажите а способа по проше нету ?)

#77 Re: Laravel 5.x » Ошибка при выполнение миграции » 06.03.2017 20:38:16

Удалил таблицу, миграция выполнилась, таблица создалась но все равно выдает такую ошибку
  [Illuminate\Database\QueryException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;
   max key length is 767 bytes (SQL: alter table `menus` add unique `menus_alias_uniq
  ue`(`alias`))



  [PDOException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;
   max key length is 767 bytes

#78 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 18:15:43

это что view composer где про не го можно почитать

#79 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 17:36:49

Это в каждом контролеры вызывать это ужас (( А если наследовать и в родительском контрлере вызывать методы и все

#80 Re: Laravel 5.x » Ошибка при выполнение миграции » 06.03.2017 17:31:59

[Illuminate\Database\QueryException]
  SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exis
  ts (SQL: create table `users` (`id` int unsigned not null auto_increment primary ke
  y, `name` varchar(191) not null, `email` varchar(191) not null, `password` varchar(
  191) not null, `remember_token` varchar(100) null, `created_at` timestamp null, `up
  dated_at` timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)



  [PDOException]
  SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exis
  ts

#81 Re: Laravel 5.x » Ошибка при выполнение миграции » 06.03.2017 17:31:47

constb пишет:

забыл параметр передать?

передавал все равно не работает

#82 Re: Laravel 5.x » Ошибка при выполнение миграции » 06.03.2017 17:03:53

[ErrorException]
  Missing argument 1 for Illuminate\Database\Schema\Builder::defaultStringLength(), c
  alled in D:\OpenServer\domains\travel.loc\vendor\laravel\framework\src\Illuminate\S
  upport\Facades\Facade.php on line 221 and defined

#84 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 16:49:32

Скажи, а если я создам котроел MainController который будет делать выборку для меню катрегорий и футера и будет передавать эти значения в вид лайоут

#85 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 16:41:44

Да я меню хранить буду в БД )) и категории будут в БД. Я знаю что сайт на WP подходит, проще сделать, да и шаблон WordPress я для учебных целий делаю на Laravel на WordPress я бы уже сделал бы его

#86 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 16:31:23

constb пишет:

а зачем хранить меню и сайдбар в базе? если набор страниц фиксированный, их можно прямо в вид захардкодить

НЕ много не пойму а что в каждом контролеры вызывать выборку меню и сайтбара

#88 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 14:56:43

constb пишет:

какие туда переменные надо передавать?

Смотрите, если я оставляю меню и sibebar и футер в лайоте.
Мне же надо будет из БД выбрать меню, sibebar и футер и передать результаты выборки в шаблон лайот, какой контролер должен это обрабатывать, или как правельно сделать

#89 Laravel 5.x » Ошибка при выполнение миграции » 06.03.2017 14:24:22

matros97
Ответов: 11

При выполнение в консоли миграции выдает такую оишбку

php artisan migrate
Migration table created successfully.


  [Illuminate\Database\QueryException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;
   max key length is 767 bytes (SQL: alter table `users` add unique `users_email_uniq
  ue`(`email`))



  [PDOException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;
   max key length is 767 bytes.


Хотя с таблицей users я не работал создал свою таблицу

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateMenusTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('menus', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title', 200);
            $table->string('alias', 200)->unique();
            $table->integer('position')->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('menus');
    }
}

#90 Re: Laravel 5.x » Как правельно разбить вид » 06.03.2017 14:21:48

constb пишет:

нет. ларавель – не битрикс, не надо пытаться из него сделать то чем он не является. контент и есть содержание вида, с остальным надо решить что является лейаутом а что включаемыми элементами. меню так например точно – часть лейаута. в сами включаемые элементы данные могут идти как из контроллера (если они зависимы от контента страницы) или вообще собираться отдельным вью-композером.

Так лучшие меню оставить в лейауте ? а как туда передать переменные ? для каждого создавать контролер

#91 Laravel 5.x » Как правельно разбить вид » 05.03.2017 18:54:36

matros97
Ответов: 23

Привет, я вот учу Laravel и вот решил делать сайт на нем(чисто в учебных целях). Вот есть такой шаблон, я его разбил на части(видел красный цветом)
Фото шаблона

То есть как я понял, мне нужно для каждого вида создать свой контроллер и делать выборку в нем ? и передавать переменую ввид sidebar
Вот так я склевиваю шаблон

@extends('layouts.site')

@section('menu')
    @include(env('TEMHE').'.menu')
@endsection

@section('slider')
    @include(env('TEMHE').'.slider')
@endsection

@section('content')
    @include(env('TEMHE').'.content')
@endsection

@section('sidebar')
    @include(env('TEMHE').'.sidebar')
@endsection

Правильно ли ?

#92 Laravel 5.x » Расширение для загрузки изображения » 04.01.2017 09:28:00

matros97
Ответов: 3

Доброе утро, подскажите есть ли расширение для laravel, что бы можно было решить такую проблему.
Вот такое у меня в статии есть фото, очень много фото, прописаные вручную кодом(img), может есть расширения что то типо как в WordPress или Joomla я загрузил изображения в папку а потом его выбрал. Просто очень долго прописывать это все вручную когда я добавляю статью на сайт

#94 Laravel 5.x » Не загружаеться файл изображения » 27.12.2016 15:07:40

matros97
Ответов: 3

Не могу понять, почему не загружается изображение вот код

  if($request->isMethod('POST'))
        {

            $input = $request->except('_token');


            $messager = [

                'required' => "Поле :attribute обязательно к заполнению",
            ];

            $valid = Validator::make($input, [

               'title' => 'required|max:150',
               'alias' => 'required|unique:pages|max:150',
               'text'  => 'required',
               'images' => 'required'

           ], $messager);



            if($valid->fails())
            {
                return redirect()->route('pagesAdd')->withErrors($valid)->withInput();
            }

            if($request->hasFile('images')) {
                $file = $request->file('images');

                dd($file);

                $input['images'] = $file->getClientOriginalName();

                $file->move(public_path().'/site/img/',$input['images']);

            }



            $page = new Page();


            $page->fill($input);


            if($page->save())
            {
                return redirect()->route('page')->with('status','Страница добавлена');
            }

        }

Вот форма для добавления

<div class="container">
    <div class="row">
        <div class="col-md-12 admin_content">


            <form action="{{ route('pagesAdd') }}" method="POST" class="form-horizontal">
                <div class="form-group">
                    <label for="exampleInputEmail1">Название</label>
                    <input type="text" class="form-control" name="title" id="exampleInputEmail1" value="{{ old('title') }}">
                </div>

                <div class="form-group">
                    <label for="exampleInputPassword1">Адрес</label>
                    <input type="text" value="{{ old('alias') }}" name="alias" class="form-control" id="exampleInputPassword1"  >
                </div>

                <div class="form-group">
                    <label for="exampleInputEmail1">Текст</label>
                    <textarea class="form-control" id="editor" rows="3" name="text" >{{ old('text') }}</textarea>
                </div>

                <div class="form-group">
                    <label for="exampleInputFile" >Изображение</label>
                    <input class="filestyle" data-buttonText = "Выберите изображение"
                           data-buttonName = "btn-primary" data-placeholder="Файла не загружен" type="file" value="{{ old('images') }}" name="images" id="exampleInputFile" >
                </div>

                {{ csrf_field() }}

                <button type="submit" class="btn btn-primary">Добавить</button>

            </form>

            <script>
                CKEDITOR.replace('editor');
            </script>

        </div>
    </div>
</div>

Хотя имя файла получаю и в БД заноситься а вот файл в папке public > site > img не отображается

#95 Re: Laravel 5.x » Не работает сессию » 26.12.2016 14:49:15

Спасибо, за совет, буду искать проблему

#96 Re: Laravel 5.x » Не работает сессию » 26.12.2016 14:13:53

AlexeyMezenin пишет:

Убрал, не возвращай. В представление поставь {{ session('status') }} без проверки (вне if) . На всякий случай очисти кэш маршрутов и представлений:

php artisan route:cache
php artisan view:clear

Код у тебя правильный, должно работать, если не лез в Http\Kernel.php

Сделал все равно не фига ( в Kernel я не лез

#97 Re: Laravel 5.x » Не работает сессию » 26.12.2016 13:21:06

Убрал проверил, все равно не выводиться

#98 Re: Laravel 5.x » Не работает сессию » 26.12.2016 13:20:20

AlexeyMezenin пишет:
matros97 пишет:
AlexeyMezenin пишет:

}%matros97, в маршрутах подключаешь web middleware? Какая именно версия фреймворка?

Да подключил посредник web, а версия Laravel 5.3 но как я понял, что посредник web уже вшитый в марширут

Значит в нем проблема. В 5.3 если его поключить вручную в web.php, он ломает сессии. Убери его из маршрутов.

Убирал, тоже самое не чего не выводит

#99 Re: Laravel 5.x » Не работает сессию » 26.12.2016 12:22:51

AlexeyMezenin пишет:

}%matros97, в маршрутах подключаешь web middleware? Какая именно версия фреймворка?

Да подключил посредник web, а версия Laravel 5.3 но как я понял, что посредник web уже вшитый в марширут

#100 Laravel 5.x » Не работает сессию » 26.12.2016 10:14:38

matros97
Ответов: 12

Не могу понять, почему не работает сессия, в версии 5,1 работало все
вот код  в контролери когда сообщение отправлено

if($result) {
                return redirect()->route('homer')->with('status', 'Email is send');

            }

а вот ввиде ввывод сессии, которая не чего не выводит, хотя сообщение отправляеться

@if(session('status'))
    <div class="alert alert-success">
        {{ session('status') }}
    </div>
@endif

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