質問 > その他 > oneToManyでfindeしてもデータが取得できない |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
boonen |
投稿日時: 2017/3/25 11:34
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない だいぶ理解が深まりました。
ありがとうございました! |
umebius |
投稿日時: 2017/3/24 21:05
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: oneToManyでfindeしてもデータが取得できない Repositoryの他のメソッドです。
http://www.doctrine-project.org/api/orm/2.4/class-Doctrine.ORM.EntityRepository.html
|
hmorita_j |
投稿日時: 2017/3/24 18:18
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: oneToManyでfindeしてもデータが取得できない そういうオチでしたか!!
すっきりしました。 |
boonen |
投稿日時: 2017/3/24 17:41
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない findOneByに直してdumpしてみたところ、動きました。
arrayでとってきてるのですね。 ありがとうございます!教えていただかなければ今後の開発もずっとハマり続けるところでした。 |
umebius |
投稿日時: 2017/3/24 16:14
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: oneToManyでfindeしてもデータが取得できない $fortunetellerが配列だからですね。
findByのリターンはarrayですので。 foreachで$fortunetellerを回してはいかがでしょうか。 FortunetellerとMemberの関係を把握していないので妥当かわかりませんが、findByのかわりにfindOneByであればFortunetellerがリターンされます。
|
boonen |
投稿日時: 2017/3/24 16:07
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない dumpをしただけではnullなのは仕様なのですね。
勘違いしていました。ありがとうございます。 ですが、$fortuneteller-getTellerschedule()でエラーになるのはなぜなのでしょうか。。 |
umebius |
投稿日時: 2017/3/24 14:43
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: oneToManyでfindeしてもデータが取得できない Lazy Loading (仕様) のことでしょうか? ゲッターを使うまでは読み込まないという。
dumpしただけではnullのままで別におかしくないです。 http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-objects.html#by-lazy-loading それでしたら逆にEager Loadingにすることもできます。 //よく検討していないので間違っていたらすみません
|
boonen |
投稿日時: 2017/3/24 14:39
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない いえ、fortunetellerをfindした結果にtellerscheduleのデータが入れ子でカラム名は取得されているのにnullになっているのがおかしいと思ったのです。
oneToOneのリレーションの時はfind()で特に指定せずに取れていたので。
ご指摘いただいた方法ならできるのかと思い、上記のようなコードに書き換えてみたところ、以下のエラーがでました。
何か定義が間違っているのでしょうか。。。 |
nyorai |
投稿日時: 2017/3/24 14:17
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: oneToManyでfindeしてもデータが取得できない ありがとうございます。
oneToManyのリレーション先のデータがとれない、というのは、
のようなコードを書いたときに$Schedulesがnullになる、という意味ですか? |
boonen |
投稿日時: 2017/3/24 13:55
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない すみません、dump()の変数は$Scheduleでした。
質問時点から変更してしまっています。
dtb_fortuneteller のidのカラム名はidです。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |