Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.8-在数组中给我错误:';htmlspecialchars()要求参数1为字符串,数组给定';_Php_Arrays_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel 5.8-在数组中给我错误:';htmlspecialchars()要求参数1为字符串,数组给定';

Php Laravel 5.8-在数组中给我错误:';htmlspecialchars()要求参数1为字符串,数组给定';,php,arrays,laravel,laravel-5,Php,Arrays,Laravel,Laravel 5,我在控制器中有如下功能: public function convert($id) { $project = ProjectMaster::findOrFail($id); $items = ProjectItem::all()->where('id_project_master', $id); $deliveryOrder = ProjectDeliveryOrder::where('id_project'

我在控制器中有如下功能:

public function convert($id) {
        $project        = ProjectMaster::findOrFail($id);
        $items          = ProjectItem::all()->where('id_project_master', $id);
        $deliveryOrder  = ProjectDeliveryOrder::where('id_project', $id)->first();
        $itemsDO        = ProjectItemDeliveryOrder::all()->where('id_deliveryorder', $deliveryOrder->id)->pluck('id_item')->toArray();

        return view('delivery-order-form-add', compact('project', 'value', 'items', 'itemsDO'));
    }
$items
给我结果:

{
"5": {
"id": 6,
"id_project_master": 6,
"name": "Item 1",
"qty": 2,
"cost": "1,000,000",
"totalcost": "2,000,000",
"rate": "2,000,000",
"totalrate": "4,000,000",
"created_at": "2020-01-24 03:23:25",
"updated_at": "2020-01-24 03:23:25"
},
   "6": {
       "id": 7,
       "id_project_master": 6,
       "name": "Item 2",
       "qty": 2,
       "cost": "2,500,000",
       "totalcost": "5,000,000",
       "rate": "4,000,000",
       "totalrate": "8,000,000",
       "created_at": "2020-01-24 03:23:25",
       "updated_at": "2020-01-24 03:23:25"
    }
}
[
6
]
$itemsDO
给我结果:

{
"5": {
"id": 6,
"id_project_master": 6,
"name": "Item 1",
"qty": 2,
"cost": "1,000,000",
"totalcost": "2,000,000",
"rate": "2,000,000",
"totalrate": "4,000,000",
"created_at": "2020-01-24 03:23:25",
"updated_at": "2020-01-24 03:23:25"
},
   "6": {
       "id": 7,
       "id_project_master": 6,
       "name": "Item 2",
       "qty": 2,
       "cost": "2,500,000",
       "totalcost": "5,000,000",
       "rate": "4,000,000",
       "totalrate": "8,000,000",
       "created_at": "2020-01-24 03:23:25",
       "updated_at": "2020-01-24 03:23:25"
    }
}
[
6
]
然后我有一个循环,在每个循环中,在刀片视图中验证是否存在\u array($this$array),如:

@foreach ($items as $item)
<tr>
    <td class="text-right"><input type="checkbox" class="form-check-input" name="id_item[]" value="{{ $item->id }}" @if(in_array($item->id, $itemsDO)) disabled @endif></td>
</tr>
@endforeach
@foreach($items作为$item)
id,$itemsDO)已禁用@endif>
@endforeach
此验证给我一个错误
htmlspecialchars()要求参数1为字符串,数组为给定的

我在数组中写入了错误的参数或
,无法在blade Laravel上工作?

blade希望
@if
@endif
在单独的行上。如果出现以下情况,则可以使用三元:

@foreach ($items as $item)
<tr>
    <td class="text-right"><input type="checkbox" class="form-check-input" name="id_item[]" value="{{ $item->id }}" {{ (in_array($item->id, $itemsDO)) ?  "disabled" : "" }}></td>
</tr>
@endforeach
@foreach($items作为$item)
id,$itemsDO))?“已禁用”:“}}>
@endforeach

使用此代码解决:

<td class="text-right"><input type="checkbox" class="form-check-input" name="id_item[]" value="{{ $item->id }}" @if(in_array($items[$i]->id, $itemsDO)) disabled @endif></td>
id,$itemsDO))已禁用@endif>

$i
是循环增量

您的错误在
if
语句中

你应该说条件是否为真
echo
disable。你写
disable
的方式是一个
简单字符串
,但你应该把它作为
html代码
来介绍


所以简单地说,你应该在
echo
函数中调用
disable

你能在数组($item->id,$itemsDO[0])中进行更改吗?或者如果你将在数组($item->id,$itemsDO[$key])中使用foreach usd foreach($items as$key=>$item)@Salemloress我尝试了数组的增量$key索引,仍然会给我同样的错误