【问题标题】:Laravel - Illegal string offsetLaravel - 非法字符串偏移
【发布时间】:2019-01-14 19:10:18
【问题描述】:

我尝试根据单元格内容在 laravel 中为表格单元格着色,但我不断收到此错误:

"非法字符串偏移'Disponible'(查看: C:\Users\RAYLAN\Documents\CRMSAV\resources\views\ pagination_data.blade.php)
(查看:C:\Users\RAYLAN\Documents\CRMSAV\re..."

这是我的代码:

@foreach($data as $row)
<tr>
 <td>{{ $row->ID_Piece }}</td>
 <td>{{ $row->Designation }}</td>
 <td style="background-color: {{ $row->Status['Disponible'] }}">
        {{ $row->Status }}
</td>
</tr>
{{$row->Status = array('Disponible' => '#FF0', 'N' => '#F0F')}}
@endforeach
<tr>
 <td colspan="3" align="center">
  {!! $data->links() !!}
 </td>
</tr>

【问题讨论】:

  • 什么是$row-&gt;Status?它是一个包含键 Disponsible 的数组吗?
  • foreach 循环后没有$row 变量所以它不起作用
  • 这是一个包含值'Disponible'的行,我从数据库中获取它的值。

标签: php css laravel html-table cell


【解决方案1】:

如果您的 $row-&gt;Status['Disponsible'] 出现在所有行中,请尝试以下操作

<td style="background-color: {{ $row->Status['Disponible'] }}">
   {{ $row->Status['Disponsible'] }}
</td>

编辑: 尝试替换您的@foreachloop

@foreach($data as $row)
 {{$row->Status = array('Disponible' => '#FF0', 'N' => '#F0F')}}
<tr>
 <td>{{ $row->ID_Piece }}</td>
 <td>{{ $row->Designation }}</td>
 <td style="background-color: {{ $row->Status['Disponible'] }}">
        {{ $row->Status['Disponible'] }}
</td>
</tr>

@endforeach

【讨论】:

  • "语法错误,意外 ';',期待 ',' 或 ')'"
  • 可能是代码的其他部分,检查弹出错误中的行号并尝试从那里修复
  • 删除该行
  • 现在我明白了:“htmlspecialchars() 期望参数 1 是字符串,给定数组...
  • 我认为您应该尝试在谷歌上搜索并修复即将出现的错误。如果我的回答对您有所帮助,请不要犹豫投票。如果您还有其他问题,请尝试发布其他问题
【解决方案2】:

表示这一行没有Disponible

{{$row->Status = array('Disponible' => '#FF0', 'N' => '#F0F')}}

也许把它写在上面的那行,然后检查$row-&gt;Status中的内容:

<?php
dd( $row->Status );
?>

但老实说,它看起来有点奇怪。请记住,双胡须 ({{ $foobar }}) 与内容相呼应。但是你在那里分配了一个值......你正在循环的东西?!嗯......我要么非常聪明,要么非常愚蠢,因为没有得到它。 :-)

【讨论】:

  • 你很聪明,承认你是。
【解决方案3】:

我决定用 Jquery 来做,这是可行的解决方案:

@foreach($data as $row)
 <tr>
 <td>{{ $row->ID_Piece }}</td>
 <td>{{ $row->Designation }}</td>
 <td id="status">{{ $row->Status }}</td>
</tr>
@endforeach
<tr>
 <td colspan="3" align="center">
  {!! $data->links() !!}
 </td>
</tr>

<script type="text/javascript">

        $(document).ready(function(){
            $('#status').each(function(){
                if ($(this).text() == 'N') {
                    $(this).css('background-color','#f00');
                }
            });
        });

</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 2013-09-30
    • 2020-11-29
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多