#php #html #arrays #laravel #html-table
#php #HTML #массивы #laravel #html-таблица
Вопрос:
ну, я новичок в laravel, и я не знаю, правильно ли я это делаю или что. итак, вот моя проблема: у меня есть контроллер, который получает идентификатор и выдает объект, в котором есть массив. и мне просто нужны объекты в этом массиве, которые я могу получить следующим образом :
$services = Service::findOrFail($id);
$service = $services->order['orders'];
но когда я отправляю $ service для просмотра, я не знаю, как использовать set их в таблице с помощью foreach.
это мой контроллер :
public function watch($id){
$services = Service::findOrFail($id);
$service = $services->order['orders'];
return view('service.watch',['service'=> $service]);
}
обычно это легко, когда я получаю все документы из коллекции и отправляю их для просмотра, и оба они одинаковы по структуре, но это работает не так.
это когда я var_dump $service :
array(2) {
[0]=>
array(9) {
["_id"]=>
object(MongoDBBSONObjectId)#1221 (1) {
["oid"]=>
string(24) "5f42734c00c6ed74e48624e5"
}
["stat"]=>
string(5) "false"
["customerPhone"]=>
string(1) "5"
["orderQuantity"]=>
string(1) "5"
["orderCost"]=>
string(1) "5"
["orderId"]=>
float(139907061720)
["orderTag"]=>
string(1) "2"
}
[1]=>
array(9) {
["_id"]=>
object(MongoDBBSONObjectId)#1222 (1) {
["oid"]=>
string(24) "5f42734c00c6ed74e48624e6"
}
["stat"]=>
string(5) "false"
["customerPhone"]=>
string(1) "9"
["orderQuantity"]=>
string(1) "9"
["orderCost"]=>
string(1) "9"
["orderId"]=>
float(139907061725)
["orderTag"]=>
string(1) "9"
}
}
на мой взгляд, я сделал это :
@foreach($service as $key=>$value)
<td>{{ $value->customerPhone }}</td>
<td>{{ $value->orderQuantity }}</td>
<td>{{ $value->orderCost}}</td>
<td>{{ $value->orderTag}}</td>
@endforeach
пожалуйста, помогите мне закодировать это. Спасибо
Комментарии:
1. используйте индекс массива, подобный
$value['customerPhone']
.2. @zahidhasanemon благодарит, что это сработало. но не могли бы вы, пожалуйста, объяснить мне, почему $ value-> customerPhone не работает?
Ответ №1:
Как вы можете видеть в вашем результате var_dump, ваш результирующий тип данных — array, а не object. Таким образом, вы должны получить доступ по индексу $value[‘customerPhone’]
Комментарии:
1. да, спасибо, это сработало, но у меня есть вопрос по этому поводу. когда мы получаем весь документ из коллекции, это то же самое. не так ли?