Laravel generieren slug vor dem speichern

Ich versuche zu lernen, laravel 5 mit Hilfe von diese wondefull website.
Für meine Tätigkeit Modell, das ich erzeugen will Nacktschnecken, bevor ich speichern meiner Datenbank, so habe ich das folgende Modell.

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Activity extends Model {

    protected $table = 'activitys';

    protected $fillable = [
        'title',
        'text',
        'subtitle'
    ];

    //Here I want to auto generate slug based on the title
    public function setSlugAttribute(){
        $this->attributes['slug'] = str_slug($this->title , "-");
    }
    //   
}

Aber wenn ich speichern Sie ein Objekt mit Hilfe der Aktivität Modell slug ist nicht gefüllt, ich habe versucht, es zu verändern $this->Attribute['Titel'] = "test" für die Prüfung, aber es nicht ausführen. Auch habe ich versucht, indem Parameter $title, $slug zu setSlugAttribute (), aber es nicht helfen.

Was mache ich falsch und kann jemand erklären, die parameter, die verwendet werden, einige Beispiele für setSomeAttribute($whyParameterHere).

Hinweis : es ist ein slug Feld in meiner Datenbank.

Vorgeschlagen von user3158900 ich versucht habe :

public function setTitleAttribute($title){
    $this->title = $title;
    $this->attributes['slug'] = str_slug($this->title , "-");
}
//

Diesem macht mein Feld Titel leer, aber spart die Schnecke, wie ich es möchte, warum $this->Titel leer ist, dann ?
Wenn ich entfernen $this->Titel = $Titel; beide Titel und slug sind leer

Schreibe einen Kommentar