質問 > 管理機能 > Controllerからviewにajax利用して一覧を渡す方法 |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
start |
投稿日時: 2021/12/30 16:02
対応状況: 解決済
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: Controllerからviewにajax利用して一覧を渡す方法 ありがとうございました。
解決できました。本当に助かりました。 |
start |
投稿日時: 2021/12/30 14:55
対応状況: −−−
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: Controllerからviewにajax利用して一覧を渡す方法 なるほど、確認してみます。
ありがとうございました。 |
Buchiii |
投稿日時: 2021/12/30 14:22
対応状況: −−−
|
半人前 登録日: 2020/10/9 居住地: 投稿: 30 |
Re: Controllerからviewにajax利用して一覧を渡す方法 いえ、以下のように、オブジェクトである$Listsを配列に入れ直してから、
その配列をjsonで返すという意図でした。 $Lists = $this->productDeliveryTestRepository->findBy( ['Sector' => $Sector] ); $array = []; foreach($Lists as $Item) { $array[] = [ 'id' => $item->getId(), 'name' => $item->getName(), ]; } return $this->json([ 'status' => 'OK', 'lists' => $array ], 200); id, nameのところは、返したいDBのカラムを指定することとなります。 よろしくお願いします。 |
start |
投稿日時: 2021/12/30 12:33
対応状況: −−−
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: Controllerからviewにajax利用して一覧を渡す方法 ご返信ありがとうございました。
以下の形であっていますか。 return new Response(json_encode(array( 'status' => 'OK', 'lists' => $Lists, ), 200); |
Buchiii |
投稿日時: 2021/12/29 22:31
対応状況: −−−
|
半人前 登録日: 2020/10/9 居住地: 投稿: 30 |
Re: Controllerからviewにajax利用して一覧を渡す方法 start 様
推測になりますが、 おそらく、$Lists のままだと、symfonyのcollectionオブジェクトであるため、 そのままではjsonにはできずエラーがでているのでは?と推測します。 以下参考記事の回答のように配列化すれば、 json化できるのはないでしょうか。 参考: https://stackoverflow.com/a/34577422 ご参考になれば幸いです。 |
start |
投稿日時: 2021/12/29 20:51
対応状況: −−−
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Controllerからviewにajax利用して一覧を渡す方法 お疲れ様です。
以下のreturn でエラー(エラーコード:500)が発生しています。一つだけを('lists' => $Lists[0]->getId())確認したら問題なく戻っています。 $Lists に一覧を戻したいです。 宜しくお願いいたします。 /** * @Route("/%eccube_admin_route%/product/delivery/list", name="admin_product_delivery_list", methods={"POST"}) */ public function subSelect(Request $request) { if (!$request->isXmlHttpRequest()) { throw new BadRequestHttpException(); } $id = (int)$request->get('id'); if(is_null($id) || empty($id)){ return $this->json(array('status' => 'NG'), 200); }else{ $Sector = $this->sectorRepository->find($id); $Lists = $this->productDeliveryTestRepository->findBy( ['Sector' => $Sector] ); return $this->json(array( 'status' => 'OK', 'lists' => $Lists, ), 200); } } ▼テンプレート [EC-CUBE] EC-CUBE4.06 [OS] MacOS [PHP] PHP7.3 [データベース] Mysql |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |