1

この怪物をきれいにするのを手伝ってください!ユーザーの配列を Laravel コレクションから JavaScript 変数に取得しようとしています。

これが私がこれを機能させる唯一の方法です:

<script>
var obj = {
    users: [<?php for($i = 0; $i < count($users); $i++) { echo $users[$i]->getObject(); if ($i + 1 < count($users)) { echo ','; } } ?>],
}
</script>

これにより、正しい出力が得られます。

users: [{"id":1,"first_name":"A","last_name":"A","birthday":"1970-02-12","gender":"M","username":"aa","email":"a@a.com","permissions":null,"activated":true,"activated_at":null},{"id":2,"first_name":"b","last_name":"b","birthday":"1982-01-10","gender":"M","username":"bb","email":"b@b.com"}]

私はRobclancy/Presenterを使用しています。これは、ビューに送信されたオブジェクトがプレゼンターになることを意味するため、オブジェクトを元に戻す必要があります$user->getObject();


$users = User::all();User オブジェクトの Collection を返す コントローラーから。ここに画像の説明を入力

やってみました

<script>
var obj = {
    users: <?php echo $users; ?>,
}
</script>

しかし、それは私に与えます

var obj = [{},{}];
4

2 に答える 2

8

Eloquentには組み込みのtoJsonメソッドがあります:

var obj = {
    users: <?php echo $users->toJson(); ?>
};
于 2013-10-08T02:31:19.797 に答える
0

これが解決策です。プレゼンターがオブジェクトを変換する方法を知らないという問題でした。ロブクランシーが私を助けてくれました。 https://github.com/robclancy/presenter/issues/18

于 2013-10-11T18:04:00.720 に答える