回答編集履歴
1
キャストについて追記しました
answer
CHANGED
@@ -4,4 +4,24 @@
|
|
4
4
|
lalavelの仕様はよくわかってはいないのですが、@emptyというのは恐らく空であればという条件だと思うのでnull対策になっているのでしょうね。
|
5
5
|
|
6
6
|
ということで考えられるのは $post->comments が、そもそも配列としてわたってきていないのでは?というところになります。
|
7
|
-
$post->comments を強制的に配列にキャストすればもしかしたらうまくいくかもしれません。
|
7
|
+
$post->comments を強制的に配列にキャストすればもしかしたらうまくいくかもしれません。
|
8
|
+
|
9
|
+
// 追記 2018/09/26 15:16
|
10
|
+
強制的にキャストする方法ですが、以下のように(array)$arrayの形で出来たかと思います。
|
11
|
+
方法①のようにlalabelのBladeでこれがそのまま使えるかは不明ですが、PHPの標準機能のはずなのでおそらくは使えるはず。
|
12
|
+
もしダメでも方法②のように直前で強制キャストを行い、@forelseに渡すものを配列にすれば行くはずです。
|
13
|
+
|
14
|
+
```php
|
15
|
+
// 一般的なphpでの強制キャスト
|
16
|
+
foreach ((array)$array as $elem) {
|
17
|
+
// hogehoge.
|
18
|
+
}
|
19
|
+
|
20
|
+
// lalabel-Blade用 方法①
|
21
|
+
@forelse ((array)$post->comments as $comment)
|
22
|
+
|
23
|
+
// lalabel-Blade用 方法②
|
24
|
+
$arrComments = (array)$post->comments
|
25
|
+
@forelse ($arrComments as $comment)
|
26
|
+
|
27
|
+
```
|