Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
}%формируй url с помощью cocur/slugify и храни его в базе. сразу и проверишь на уникальность, сразу и по полю будешь находить запись, соответствующую маршруту. не забудь добавить индекс на поле.
А как добавить индекс на поле? Через миграцию $table->string('name')->unique(); или как-то по-другому?
А если в разных областях страны есть одинаковые села? Может ли в базе быть два одинаковых населенных пункта?
А slug лучше сразу в сидере прописывать или через модель генерировать?
А я хотел через Laravel 5 Cyrillic Slug
А еще такой вопросик, я хочу реализовать ЧПУ, но в базе все будет в кирилице, мне нужно к Laravel подключать какое-то дополнение или можно обойтись стандартными средствами?
Ага, спасибо большое!
Я бы так попробовал:
вместо \Slug - в начале: use App\Models\Slug, потом обращаемся: = Slug::make\App\Models\Region::create - заменить на self::create
По остальному не понятна структура БД.
Мне города в базу добавлять через сидер или через модель?
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Region extends Model {
public function setSlugAttribute($value)
{
$this->attributes['slug'] = \Slug::make($value);
}
\App\Models\Region::create([
'name' => 'Автономная Республика Крым', 'slug' => 'Автономная Республика Крым',
'name' => 'Винницкая область', 'slug' => 'Винницкая область',
'name' => 'Волынская область', 'slug' => 'Волынская область',
'name' => 'Днепропетровская область', 'slug' => 'Днепропетровская область',
'name' => 'Донецкая область', 'slug' => 'Донецкая область',
'name' => 'Житомирская область', 'slug' => 'Житомирская область',
'name' => 'Закарпатская область', 'slug' => 'Закарпатская область',
'name' => 'Запорожская область', 'slug' => 'Запорожская область',
'name' => 'Ивано-Франковская область', 'slug' => 'Ивано-Франковская область',
'name' => 'Киев', 'slug' => 'Киев',
'name' => 'Киевская область', 'slug' => 'Киевская область',
'name' => 'Кировоградская область', 'slug' => 'Кировоградская область',
'name' => 'Луганская область', 'slug' => 'Луганская область',
'name' => 'Львовская область', 'slug' => 'Львовская область',
'name' => 'Николаевская область', 'slug' => 'Николаевская область',
'name' => 'Одесская область', 'slug' => 'Одесская область',
'name' => 'Полтавская область', 'slug' => 'Полтавская область',
'name' => 'Ровненская область', 'slug' => 'Ровненская область',
'name' => 'Севастополь', 'slug' => 'Севастополь',
'name' => 'Сумская область', 'slug' => 'Сумская область',
'name' => 'Тернопольская область', 'slug' => 'Тернопольская область',
'name' => 'Харьковская область', 'slug' => 'Харьковская область',
'name' => 'Херсонская область', 'slug' => 'Херсонская область',
'name' => 'Хмельницкая область', 'slug' => 'Хмельницкая область',
'name' => 'Черкасская область', 'slug' => 'Черкасская область',
'name' => 'Черниговская область', 'slug' => 'Черниговская область',
'name' => 'Черновицкая область', 'slug' => 'Черновицкая область'
]);
}