バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (45 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 55
もっと...

サイト内検索

質問 > 管理機能 > 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
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,991名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.