Laravel 5.4 champ ne doit pas avoir de valeur par défaut

Je vais avoir cette erreur, et aucun de la googlé conséquent, j'ai vérifié, c'est similaire à mon problème.

J'ai une demande à la classe Affaire, l'Utilisateur, et les Matchs

Un deal a beaucoup de matchs.
Un utilisateur a de nombreux matchs.
Un utilisateur a de nombreuses offres.

Je tente de créer un nouveau Match à l'aide de mon Affaire objet

$deal->matches()->create(['user_id'=>$id]);

C'est mon match de la classe, j'ai défini toutes les relations nécessaires

class Match extends Model
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $guarded = [];
    public $timestamps = false;
    public $expired_on = "";


    public static function boot()
    {
        parent::boot();

        static::creating(function ($model) {
            $model->matched_on = $model->freshTimestamp();
        });
    }

    public function __construct(){
        $d = (new \DateTime($this->matched_on))->modify('+1 day');
        $this->expired_on = $d->format('Y-m-d H:i:s');
    }


    /**
     * Get the user that owns the match.
     */
    public function user()
    {
        return $this->belongsTo('App\User');
    }

    /**
     * Get the deal that owns the match.
     */
    public function deal()
    {
        return $this->belongsTo('App\Deal');
    }
}

Et je reçois ce message d'erreur lorsque je tente de créer un nouveau match.

QueryException dans Connection.php ligne 647:
SQLSTATE[HY000]: General error: 1364 Champ 'user_id' n'ont pas de valeur par défaut (SQL: insert into matches (deal_id) les valeurs (1))

J'ai gardé mon être un tableau vide, ce qui pourrait être le problème?

  • Ce que je ne comprends pas est pourquoi, correspond à un modèle de classe si c'est un tableau croisé dynamique laravel.com/docs/5.0/eloquent#working-with-pivot-tables
  • Ceci est habituellement généré lorsque vous ne l'insérez pas un domaine qui ne peut pas être NULL ou n'ont pas de valeur par défaut. Si votre 'user_id' ne pas obtenir inséré
  • oui mon 'user_id' ne pas obtenir inséré, mon problème maintenant, c'est pourquoi est-il si, en voyant que je l'ai dans ma méthode de création.
InformationsquelleAutor John David | 2017-04-03