1

私は Laravel & Ardent を使用しており、hasMany 関係を介して保存する際に問題があります。

私は2つのクラスを持っています。

作業命令:

protected   $table          = 'workorder';
protected   $primaryKey     = 'workorder_id';
public static $relationsData = [
    'dates'         => array(self::HAS_MANY, 'App\WorkOrderDate', 'foreignKey' => 'workorder_id'),
];

作業指示日:

protected   $table          = 'workorder_date';
protected   $primaryKey     = 'date_id';
public static $relationsData = array(
    'workorder'  => array(self::BELONGS_TO, 'App\WorkOrder')
);  

Workorder (正常に動作します) を保存した後、次を実行して Date モデルのコレクションを保存しようとしています。

$workorder->dates()->saveMany($myDateCollection->all());

しかし、日付の挿入は実行されておらず、エラーも発生していません。クエリ ログを有効にしましたが、Laravel が挿入ではなく更新を実行しようとしているようです。ここで関係を正しく定義していませんか?

4

1 に答える 1

1

ユーザー入力からデータ コレクションをハイドレートしていましたが、モデルをハイドレートすると、Laravel はモデルが既に存在すると見なします。これは私がやりたいことではないことがわかりました。

詳細はこちら: https://github.com/laravel/framework/issues/9360

于 2016-03-17T23:19:31.567 に答える