某フレームワークからLaravelへのスイッチを今やっているのだが結構むずい。
昨日特にわからなかったのが、
新しいデータを登録しようとして
$a = new A();
$a->fill($data)->save();
$b = new B();
$b->a_id = $a->id;
$b->fill($dataB)->save();
した際、$bに$dataBの値をまったく保存してくれなかった。
(a_idのみ保存されていた)
$b->a_id = $a->id;
部分を
$dataB[‘a_id’] = $a->id;
に変更して
fill($dataB)みたけどダメ。
ちなみに同じ値が設定されている$dataBを一度保存した行にfillするとちゃんと保存される。
なぜ保存されないのかよくわからないから、
B::create($dataB);
してみたらちゃんと保存された。
ちなみに$aのほうは問題なく$dataが反映されているんだよね。
なぜなのかわからない。
fillのところのソース見たほうがいいのかなぁ。。。。
SymfonyだとEntityに値を設定するからXDebugで中がどうなってるか見れるけど、LaravelだとModelだからどこを見れば設定されてるのかが分からず。
ソース追うのがいいのかな。
EntityとRepositoryが分かれてるのは本当にすっきりしてていいし
Form BuilderとEntityにvalidation設定できるところもSymfonyの良いところ。
デバッグツールバーも圧倒時にSymfonyのほうが分かりやすい。
Laravelってちょっと微妙だなぁと思ってしまう。