Laravel по-русски

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

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

#201 Re: Laravel 5.x » middleware => web уже не обязателен?) » 11.05.2016 19:11:55

dima9595 пишет:

А у меня не работает, ни с middleware, ни без него? Что делать?

Route::get('/', ['as' => 'index', 'uses' => 'HomeController@index']);

Route::group(['prefix' => 'auth'], function(){
    Route::get('login', ['as' => 'auth.login.get', 'uses' => 'Auth\AuthController@getLogin']);
    Route::post('login', ['as' => 'auth.login.post', 'uses' => 'Auth\AuthController@postLogin']);
});

php artisan make:auth
Или в роутах Route::auth(); прописать

#202 Re: Laravel 5.x » middleware => web уже не обязателен?) » 10.05.2016 12:47:46

AlexeyMezenin пишет:

Да, web middleware автоматически подключается ко всем маршрутам в routes.php, начиная с версии 5.2.27 и, если подключать его снова вручную, будут проблемы с сессиями и пр.

Теперь все понятно. Спасибо за четкий ответ

#203 Laravel 5.x » middleware => web уже не обязателен?) » 10.05.2016 07:15:46

TrueKanonir
Ответов: 9

Здравствуйте.
Сегодня установил ларавел,что бы перенести приложение. И заметил что не сессии не validator не работают.
Установил заного ларавел,и все та же проблема. Потом заглянул в роуты,и заметил что группы middleware => web уже нет в роутах. Вынес все роуты из этой группы,и все стало работать (сессии,валидатор).
Собственно вопрос. Уже не обязательно все роуты в группу веб заключать?

#204 Re: Laravel 5.x » Не получается записать данные в таблицу, и вернуть масив айдшников » 08.05.2016 14:59:47

Решение найдено.
Все делаю через ajax
// create.blade.php

<table class="table table-condensed">
     <thead id="spec">
         <tr>
             <th>Характеристика</th>
             <th>Значение</th>
             <th></th>
         </tr>
     </thead>
     <tbody id="spec-cont">
         <tr>
             <td>{!! Form::input('text','spec_name',null,['class' => 'form-control','id' => 'spec_name']) !!}</td>
             <td>{!! Form::input('text','spec_value',null,['class' => 'form-control','id' => 'spec_value']) !!}</td>
             <td><button id="save" type="button" class="btn btn-success">добавить</button></td>
         </tr>
     </tbody>
</table>
<label for="specifications">Характеристики</label>
<select class="form-control" multiple="multiple" id="results" name="specifications[]" style="height: 400px;">

</select>


@section('scripts')
<script>
    $('#save').click(function() {
        $.ajax({
            type: "post",
            url: "{{ url('admin/api/specifications/save') }}",
            headers: {
                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
            },
            data: {
                spec_name: $('#spec_name').val(),
                spec_value: $('#spec_value').val()
            },
            success: function(data) {
                $('#results').append($('<option>', {value: data[0], text: data[1]+' '+ data[2]}));
                $('#spec-cont').find('input[type=text]').val('');
            },
            error:  function(xhr, str){
                alert('Возникла ошибка! Попробуйте заного');
            }
        });
    });
</script>

// ApiSpecificationController

     /**
     * Save specifications to db
     * 
     * @param SpecificationRequest $request
     * @return array
     */
    public function store(SpecificationRequest $request)
    {
        $spec = new Specification();

        $spec->spec_name = $request->input('spec_name');

        $spec->spec_value = $request->input('spec_value');

        $spec->save();

        return [$spec->id,$spec->spec_name,$spec->spec_value];
    }

Данные возвращаются в <select>, а потом уже в CarController в методе store аттачим.

     public function store(CarRequest $request)
    {
        $car = new Car();
       
       // ...

        $car->save();

        $car->specification()->attach($request->input('specifications'));

        return redirect('admin/cars')
            ->with('text','Автомобиль '.$car->name .' успешно добавлен');
    }

#205 Laravel 5.x » Не получается записать данные в таблицу, и вернуть масив айдшников » 06.05.2016 15:38:17

TrueKanonir
Ответов: 1

Добрый день.
Есть две модели: Car и Specification.
Связаны many to many
// Car

    /**
     * Car specifications
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function specification()
    {
        return $this->belongsToMany(
            'App\Specification',
            'car_specification',
            'car_id',
            'specification_id'
        );
    }

// Specification

    /**
     * Specification
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function car()
    {
        return $this->belongsToMany(
            'App\Car',
            'car_specification',
            'specification_id',
            'car_id'
        );
    }

В CarController пытаюсь сначало занести данные в таблицу specifications

 public function store(CarRequest $request)
    {
        $car = new Car();
       
       // ...

        $car->save();

        $specifications = Specification::create([
        	'name[]' => $request->input('spec_name'),
        	'value[]' => $request->input('spec_value'),
    	]);

        $car->specification()->attach($specifications->id);

        return redirect('admin/cars')
            ->with('text','Автомобиль '.$car->name .' успешно добавлен');
    }

Спецификации добавляются,но только одна запись, хотя я клонирую эллемент. и в пивотной таблице car_specification тоже 1 запись.
Как решить проблему?

#206 Re: Прочее » Чем Laravel лучше Yii? » 01.05.2016 21:36:43

AlexeyMezenin пишет:

Я Yii пытался изучить раза три, причем через силу. Каждый раз отталкивло чувство "все не так, все не то". Плюнул на него, когда поверхностно изучил Symfony. Так бы и остался на Symfony, если бы не узнал о Laravel. Последний показался менее академичным и более практичным. Плохие практики здесь используются очень к месту. А Yii? Вообще забыл о нем и желания изучать нет вообще.

Я вообще не понимаю почему в России он на первом месте по популярности, больше нигде он так широко не используется. Видимо обилие книг, переведенных на русский язык, оказало влияние. Для Symfony и Laravel книг на русском нет.

У нас в Узбекистане аналогичная ситуация. Все компании буквально помешаны на этом yii. Laravel,symfony разработчиков,по пальцам пересчитать можно)

#207 Laravel 5.x » Product attributes » 19.04.2016 16:05:33

TrueKanonir
Ответов: 0

Доброго времени суток.
Появилась задача реализовать характеристики товаров.
Я даже не представляю как грамотно это сделать,ибо с инет магазинами некогда не работал.
Первое что пришло в голову (структура бд).
Attributes group

- id
- name

Attributes name

- id
- name
- attributes_group_id // one 2 many with attributes group table
- product_id // one 2 many with product table

Attributes value

- id
- value
- custom_value
- attributes_name_id // one 2 many with attributes name table

Тут возникает вопрос. Как при добавлении товара в методе store внести значение в поле "custom_value" таблицы "attributes_value" ?
И есть ли более каноничная реализация?))
Спасибо!

#208 Re: Laravel 5.x » Вопрос по авторизации » 16.04.2016 08:13:31

В идеале должна быть 1 таблица и разделение по ролям

#210 Re: Laravel 5.x » Ошибка при migration » 03.04.2016 22:17:20

Евгений пишет:

какие пароли надо вводить при подключении к базе данных!
DB_HOST=localhost
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

Если пасс и логин не менялись,то DB_HOST=localhost
DB_DATABASE=
DB_USERNAME=root
DB_PASSWORD=null

#211 Re: Laravel 5.x » Связать таблицу » 03.04.2016 22:12:50

Категории можно направить на самих себя так сказать как тут https://laravel.ru/forum/viewtopic.php?id=1475

#212 Re: Laravel 5.x » Роуты, что то не так! » 30.03.2016 19:10:48

Спрошу тут дабы не создавать новую тему.
Как вынести админку на сабдомен? Тоесть,с роутами проблем нет. Куда направлять алиас сабдомена? Так же на /public?

#213 Re: Laravel 5.x » Генирация slung » 27.03.2016 18:33:07

sylar9 пишет:
TrueKanonir пишет:
public function setSlugAttribute($value)
{
    $this->attributes['slug'] = str_slug($value);
}

это где вы прописуете ?

В моделе,которая связана с таблицей в которой есть поле slug)))

#214 Re: Laravel 5.x » Генирация slung » 27.03.2016 18:26:48

public function setSlugAttribute($value)
{
    $this->attributes['slug'] = str_slug($value);
}

#215 Re: Laravel 5.x » Подключение стилей » 24.03.2016 20:41:04

Nifler пишет:

пытаюсь подключить css но не могу. судя по всему оно не там ищет.
поместил файл в папку resources/assets/css/main.css
подключил при помощи кода: <link href="{{ URL::asset('resources/assets/css/main.css') }}" rel="stylesheet" type="text/css" >
получил на сайте вот это: http://prntscr.com/ajfdrr
то есть в теории оно подключило как я хотел, но файл оно там не нашло и пишет ошибку, что в роуте нету такого пути.
как подключить css?
пытался многими способами и http и https всегда одно и тоже. вместо стилей страница ошибки.

Поместить скрипты и стили в директорию "public"

#216 Re: Laravel 5.x » Каталог и категории » 24.03.2016 20:39:21

Просто сменил категории на "category/blahblah", и не стал заморачиваться)

#217 Re: Laravel 5.x » Электроный каталог » 24.03.2016 20:37:04

Как вариант,установить престу,опенкарт или магенто,и посмотреть как там реализовано загрузка нескольких изображений к одному товару

#219 Re: Laravel 5.x » Каталог и категории » 22.03.2016 16:32:23

VitalN пишет:

А как отличить урл '/cat/blah" от '/cat/blahblah' ? Верно, никак
```
Route::get('/cat/{catalog}', 'CatalogController@showCatalog');
и
Route::get('/cat/{category}', 'CategoryController@showCategory');
```
Это два обработчика одного маршрута

То есть такого вида маршруты вообще не реализуемые?))

#220 Laravel 5.x » Каталог и категории » 22.03.2016 16:25:58

TrueKanonir
Ответов: 5

Всем доброго времени суток.
Имеется каталог:
- Электроника
- Фото и видео
- ...
Он соединен с категориями many 2 many.
Категории в свою очередь соединены one 2 many

/**
     * Category parent
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function parent()
    {
        return $this->belongsTo('App\Category', 'parent_id');
    }

    /**
     * Category children
     *
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function children()
    {
        return $this->hasMany('App\Category', 'parent_id');
    }

Хотелось бы сделать роуты вот такого вида

# Catalog & Category
Route::get('/cat/{catalog}', 'CatalogController@showCatalog');
Route::get('/cat/{catalog}/{category}', 'CategoryController@showCategory');
Route::get('/cat/{catalog}/{category}/{children}', 'CategoryController@showChildrenCategory');

Но при попытке открыть категорию,выдает

No query results for model [App\Category].

Как решить проблему?)

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