が、私はこのまわりで私の頭を取得することはできません動作しません:フラグメントが作成された後、常に1つのみありますのでテストoneToMany関係Laravel、雄弁は
$fragment = factory(Fragment::class)->create();
$this->assertCount(0, $fragment->values);
fragment->fetch(); // updates the 'values' by adding one Value object.
var_dump($fragment->id); // i.e. 6
var_dump(Fragment::first()->id); // 6
var_dump($fragment->values->count()); // 0
var_dump(Fragment::first()->values->count()); // 1
$this->assertCount(1, $fragment->values);
私は、DatabaseTranscationsを使用しています。したがって、$ fragmentとFragment :: first()はまったく同じインスタンスです。しかし、値の関係は異なります。これはどうしたらできますか?私は手動で私のコントローラを介してこれをテストする場合、これは、テスト中にのみ起こること
注意(および値は、ブレードのテンプレートページに渡されます)それだけで正常に動作します。私は混乱している:S。
アイデア?
優れています。これはうまく動作します。不思議なことに、私はドキュメントを読んで、上記の動作を見つけたり、理解したりしませんでした。もちろん、熱心な読み込み(https://laravel.com/docs/5.2/eloquent-relationships#lazy-eager-loading)への言及があります。 –