質問 > その他 > oneToManyでfindeしてもデータが取得できない |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
boonen |
投稿日時: 2017/3/19 17:40
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
oneToManyでfindeしてもデータが取得できない [EC-CUBE] 3.0.14 新規インストール
[レンタルサーバ] さくらVPS [OS] CentOS release 6.8 [PHP] PHP 7.0.16 [データベース] MySQL 5.1.73 [WEBサーバ] Apache/2.2.15 [ブラウザ] Chrome [導入プラグインの有無] 無し [カスタマイズの有無] 有り [現象] コアコードをカスタムしているのですが、oneToManyリレーションを張ってfindしてみても、リレーション先のテーブル取得ができません。 コアコードを見てみると、innnerjoinを多用しているようですが、そのようにしないといけないのでしょうか? 下記にymlと、findした変数のdump結果を貼り付けておきます。 find自体はできてるのですが、リレーション先のデータがnullになってしまっているのです。
(dump結果)
|
umebius |
投稿日時: 2017/3/20 16:35
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: oneToManyでfindeしてもデータが取得できない cascade: ["persist"]がないからでしょうか?
dump結果がarrayになっているのも気になるので、find , dumpしているあたりのコードをご掲載いただけないでしょうか?
|
nyorai |
投稿日時: 2017/3/22 9:24
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: oneToManyでfindeしてもデータが取得できない
では出力されませんか? |
hmorita_j |
投稿日時: 2017/3/22 10:12
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: oneToManyでfindeしてもデータが取得できない データは正しく入っているのに取得できないということでしょうか?
dtb_tellerscheduleのfortuneteller_idにデータは入っていますか? |
boonen |
投稿日時: 2017/3/24 11:22
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない みなさま、ご回答ありがとうございます。
通知のチェックを入れ忘れていて、ご回答いただいていたことに気づけませんでした。申し訳有りません。 dump処理をしているコントローラーです。 仕方ないので、fortunetellerをfindしてから、tellerscheduleをfindするようにしています。
データでは、fortuneteler_idはちゃんとはいっているので、とれるはずなのですが。。。 |
nyorai |
投稿日時: 2017/3/24 11:48
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: oneToManyでfindeしてもデータが取得できない 最初に提示いただいたdump結果は、このコードで出力したものですか?
$fortunetellerをdumpしているのに、tellerscheduleが出力されているように見えますが... eccube.repository.fortunetellerの定義が間違っているとか。 |
hmorita_j |
投稿日時: 2017/3/24 12:24
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: oneToManyでfindeしてもデータが取得できない dtb_fortunetellerのidのカラム名って何ですか?
もしfortuneteller_idだとすると、 referencedColumnName: idは referencedColumnName: fortuneteller_idになると思います。 |
boonen |
投稿日時: 2017/3/24 13:55
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない すみません、dump()の変数は$Scheduleでした。
質問時点から変更してしまっています。
dtb_fortuneteller のidのカラム名はidです。 |
nyorai |
投稿日時: 2017/3/24 14:17
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: oneToManyでfindeしてもデータが取得できない ありがとうございます。
oneToManyのリレーション先のデータがとれない、というのは、
のようなコードを書いたときに$Schedulesがnullになる、という意味ですか? |
boonen |
投稿日時: 2017/3/24 14:39
対応状況: −−−
|
半人前 登録日: 2017/3/7 居住地: 投稿: 15 |
Re: oneToManyでfindeしてもデータが取得できない いえ、fortunetellerをfindした結果にtellerscheduleのデータが入れ子でカラム名は取得されているのにnullになっているのがおかしいと思ったのです。
oneToOneのリレーションの時はfind()で特に指定せずに取れていたので。
ご指摘いただいた方法ならできるのかと思い、上記のようなコードに書き換えてみたところ、以下のエラーがでました。
何か定義が間違っているのでしょうか。。。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |