質問編集履歴

3

修正結果の確認でエラー、調査中。

2021/12/20 05:34

投稿

rocket
rocket

スコア41

test CHANGED
File without changes
test CHANGED
@@ -332,7 +332,31 @@
332
332
 
333
333
 
334
334
 
335
-
335
+ 以下より
336
+
337
+
338
+
339
+ 修正を試したところ「+=」演算子がの所でエラーになってしまいました
340
+
341
+ バージョンの問題かと思ったんですが、以下該当の行のエラーですが、
342
+
343
+
344
+
345
+ Notice (8): Object of class Cake\ORM\Query could not be converted to int [APP/Controller\UserController.php, line 27]
346
+
347
+
348
+
349
+ > $user["units"] += $units;
350
+
351
+
352
+
353
+ ここで int に変換しようとしているようで、どちらも連想配列だと思うのですが。
354
+
355
+ 違うのでしょうか。
356
+
357
+
358
+
359
+
336
360
 
337
361
  修正したコード
338
362
 
@@ -366,6 +390,8 @@
366
390
 
367
391
 
368
392
 
393
+
394
+
369
395
  「Unsupported operand types」が発生しています。
370
396
 
371
397
  ```
@@ -390,7 +416,7 @@
390
416
 
391
417
 
392
418
 
393
-
419
+
394
420
 
395
421
  バージョン確認してみました。
396
422
 

2

バージョンや、修正コードの結果を追記です

2021/12/20 05:34

投稿

rocket
rocket

スコア41

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,9 @@
1
1
  CakePHPです。
2
2
 
3
+ PHP Version 7.2.34(localhostにアクセスして頭に表示されている)
4
+
5
+
6
+
3
7
  目的は、モデルから取り出したデータをjsonにしてかえそうとしています。
4
8
 
5
9
 
@@ -319,3 +323,117 @@
319
323
  ]
320
324
 
321
325
  ```
326
+
327
+
328
+
329
+
330
+
331
+ ーー追記ーー
332
+
333
+
334
+
335
+
336
+
337
+ 修正したコード
338
+
339
+
340
+
341
+ ```php
342
+
343
+ $id = 1;
344
+
345
+ $query = TableRegistry::get('userdata');
346
+
347
+ $user = $query->find()->where(['id' => $id])->first();
348
+
349
+ $query_useritem = TableRegistry::get('useritem');
350
+
351
+ $items = $query_useritem->find()->where(['user_id' => $id]);
352
+
353
+ $query_userunit = TableRegistry::get('userunit');
354
+
355
+ $units = $query_userunit->find()->where(['user_id' => $id]);
356
+
357
+
358
+
359
+ $user["units"] += $units;
360
+
361
+ $user["items"] += $items;
362
+
363
+ echo json_encode($user);
364
+
365
+ ```
366
+
367
+
368
+
369
+ 「Unsupported operand types」が発生しています。
370
+
371
+ ```
372
+
373
+ Notice (8): Object of class Cake\ORM\Query could not be converted to int [APP/Controller\UserController.php, line 27]
374
+
375
+ Notice (8): Object of class Cake\ORM\Query could not be converted to int [APP/Controller\UserController.php, line 28]{"id":1,"name":"test_user","rank":1,"exp":0,"lastlogin":"2021-12-04T18:11:24+00:00","created":"2021-12-04T18:11:24+00:00","units":1,"items":1}
376
+
377
+ Warning (512): Unable to emit headers. Headers sent in file=D:\_TechStadium20211101\ts\90_FinalProject\20_ServerProject\htdocs\PriconneR\vendor\cakephp\cakephp\src\Error\Debugger.php line=853 [CORE\src\Http\ResponseEmitter.php, line 48]
378
+
379
+ Warning (2): Cannot modify header information - headers already sent by (output started at D:\_TechStadium20211101\ts\90_FinalProject\20_ServerProject\htdocs\PriconneR\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 148]
380
+
381
+ Warning (2): Cannot modify header information - headers already sent by (output started at D:\_TechStadium20211101\ts\90_FinalProject\20_ServerProject\htdocs\PriconneR\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 181]
382
+
383
+ Warning (2): Cannot modify header information - headers already sent by (output started at D:\_TechStadium20211101\ts\90_FinalProject\20_ServerProject\htdocs\PriconneR\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 181]
384
+
385
+ Unsupported operand types
386
+
387
+ Error
388
+
389
+ ```
390
+
391
+
392
+
393
+
394
+
395
+ バージョン確認してみました。
396
+
397
+ PHP Version 7.2.34
398
+
399
+ CakePHP
400
+
401
+ ```
402
+
403
+ $ php bin/cake
404
+
405
+ ################################################################################
406
+
407
+ #
408
+
409
+ # Cake is a shell script for invoking CakePHP shell commands
410
+
411
+ #
412
+
413
+ # CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
414
+
415
+ # Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
416
+
417
+ #
418
+
419
+ # Licensed under The MIT License
420
+
421
+ # For full copyright and license information, please see the LICENSE.txt
422
+
423
+ # Redistributions of files must retain the above copyright notice.
424
+
425
+ #
426
+
427
+ # @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
428
+
429
+ # @link https://cakephp.org CakePHP(tm) Project
430
+
431
+ # @since 1.2.0
432
+
433
+ # @license https://opensource.org/licenses/mit-license.php MIT License
434
+
435
+ #
436
+
437
+ ################################################################################
438
+
439
+ ```

1

タイトル変更

2021/12/20 05:26

投稿

rocket
rocket

スコア41

test CHANGED
@@ -1 +1 @@
1
- [PHP] 連想配列をjson形式に変換する時配列追加するときに入れ子にする方法を教えて頂きです。
1
+ [PHP] 連想配列をjson形式に変換する時の事ですが形式を入れ子にする方法が分かりませんでした。連想配列入れ子にするのだと思いましがみつからずです。
test CHANGED
File without changes