Я создал строку в моей таблице «пиво» под названием «slug», где я хочу сохранить слизню названия моего пива. Проблема в том, что у меня уже более 1000 пива, и я не знаю, я хочу, чтобы вручную ввести пул к каждому из них, поэтому я пытаюсь сделать скрипт для автоматического обновления всех пули. Но я не смог сделать это:Обновление laravel 5 моделей с slug
Это мой код, чтобы дать для каждого нового пива слизняка
/**
* Set the title attribute and automatically the slug
*
* @param string $value
*/
public function setNameAttribute($value)
{
$this->attributes['name'] = $value;
if (! $this->exists) {
$this->setUniqueSlug($value, '');
}
}
/**
* Recursive routine to set a unique slug
*
* @param string $title
* @param mixed $extra
*/
protected function setUniqueSlug($name, $extra)
{
$slug = str_slug($name.'-'.$extra);
if (static::whereSlug($slug)->exists()) {
$this->setUniqueSlug($name, $extra + 1);
return;
}
$this->attributes['slug'] = $slug;
}
код прекрасно работает, но как я могу изменить все существующие сорта пива в базе данных с уникальным слизняк. Спасибо за помощь.
Рассмотрите использование Sluggable Behavior или просто проверьте код, чтобы получить вдохновение ... https://github.com/cviebrock/eloquent-sluggable –