2016-07-04 12 views
0

Ich habe das folgende Post-Modell.Einstellung von Eigenschaften in Laravel-Modell

namespace App\Models; 

use Illuminate\Database\Eloquent\Model; 

class Post extends Model 
{ 
    protected $fillable = [ 
     'app_id', 
     'title', 
     'content' 
    ]; 

    private $app_id; 

    public function __construct() 
    { 
     $this->app_id = 43; 
    } 

} 

Ich versuche, einen neuen Beitrag mit dem folgenden Code zu speichern:

$post = new Post(); 
    $post->title="Test title"; 
    $post->content="Test content"; 
    $post->save(); 

Das spart wird, jedoch wird die app_id nicht gespeichert zu werden. Irgendwelche Ideen, warum es nicht einfach fertig wird, wenn ich das Objekt neu erfinde?

Antwort

1

Versuchen Sie, diese

$this->attributes['app_id'] = 43; 
+0

Dank Niketan Raval, dass es behoben hat, aber nicht sicher, warum, was ich hatte, funktioniert nicht. – jon

1

Sie sollten private $ app_id nicht definieren;. Wenn du das tust, funktionieren die magischen Methoden von Laravel nicht, wenn du versuchst, den Wert für das Attribut 'app_id' zu setzen.

Verwandte Themen