I gesetzt haben 2 Modelle (Post und Kategorie) mit Es ist die richtige Beziehungen konfiguriertModell kehrt relation's dynamische Attribute aber null Beziehung
class Post extends Model
{
protected $fillable = [
'title',
'excerpt',
'body',
'featured',
'published',
'category_id',
];
public function category()
{
return $this->belongsTo('App\Category');
}
}
class Category extends Model
{
protected $fillable = [
'name',
];
public function posts()
{
return $this->hasMany('App\Post');
}
}
Und mein Post's Speicherverfahren ist
public function store(Request $request)
{
$post = Post::create($request->all());
return redirect('admin/posts');
}
Die Sache ist, es funktioniert tatsächlich ok, es setzt die category_id
auf den Tisch und ich kann alle dynamischen Daten mit Hilfe von $post->category->name
holen, aber wenn ich var_dump($post->relation)
bekomme ich eine null
zurück.
I wenn Sie ein neues Post-Modell erstellen, alle Attribute festlegen, speichern und dann das Kategoriemodell (wie im offiziellen Kanal dokumentiert) zuordnen, wird alles wie erwartet zurückgegeben.
Für jetzt alles, was ich brauche, ist es, seine dynamischen Attribute zu holen, und es funktioniert jetzt gut, aber ich weiß, dass ich etwas falsch machen muss, um die Null-Antwort zu bekommen. Meine Sorge ist, dass es jetzt gut funktionieren könnte, aber wenn das Projekt größer wird, werde ich wahrscheinlich ein größeres Problem haben und ich werde viel Arbeit haben, um dieses Problem zu beheben.
Sie meinen 'var_dump ($ post-> category)'? – alepeino
Nein, ich meinte wirklich 'dd ($ post-> kategorie-> name);'. Ich bekomme, was man so erwartet, nämlich den Kategorienamen der Post. –