回答編集履歴

1

キャストについて追記しました

2018/09/26 06:31

投稿

mikan_s4n
mikan_s4n

スコア377

test CHANGED
@@ -11,3 +11,43 @@
11
11
  ということで考えられるのは $post->comments が、そもそも配列としてわたってきていないのでは?というところになります。
12
12
 
13
13
  $post->comments を強制的に配列にキャストすればもしかしたらうまくいくかもしれません。
14
+
15
+
16
+
17
+ // 追記 2018/09/26 15:16
18
+
19
+ 強制的にキャストする方法ですが、以下のように(array)$arrayの形で出来たかと思います。
20
+
21
+ 方法①のようにlalabelのBladeでこれがそのまま使えるかは不明ですが、PHPの標準機能のはずなのでおそらくは使えるはず。
22
+
23
+ もしダメでも方法②のように直前で強制キャストを行い、@forelseに渡すものを配列にすれば行くはずです。
24
+
25
+
26
+
27
+ ```php
28
+
29
+ // 一般的なphpでの強制キャスト
30
+
31
+ foreach ((array)$array as $elem) {
32
+
33
+   // hogehoge.
34
+
35
+ }
36
+
37
+
38
+
39
+ // lalabel-Blade用 方法①
40
+
41
+ @forelse ((array)$post->comments as $comment)
42
+
43
+
44
+
45
+ // lalabel-Blade用 方法②
46
+
47
+ $arrComments = (array)$post->comments
48
+
49
+ @forelse ($arrComments as $comment)
50
+
51
+
52
+
53
+ ```