#php #laravel
Вопрос:
Я новичок в Laravel и использую Laravel 8 для своего проекта.
В edit_customer.blade.php Мне нужно показать индивидуальные данные.
В файле контроллера я использовал следующий код:
function showCustData($cust_id ){
$get_cust_data = AddCustomer::where('customer_id', $cust_id)->get();
return view('edit_customer',['currentcustomer'=>$get_cust_data]);
}
и в файле представления я получаю следующий результат, используя {{$currentcustomer}}:
[
{
"customer_id": 1,
"current_admin_id": 0,
"customer_type": "customer_type_purchase",
"customer_name": "Sadhan Basu",
"customer_gst": "12345789GST",
"customer_account_number": "Ac1234567/89",
"customer_stat_ut": "234234234",
"customer_currency": "INR - Indian rupee",
"customer_phone": "9874561230",
"customer_email": "abc@test.com",
"customer_country": "countryname",
"customer_state": "ggg",
"customer_city": "oooo",
"customer_address": "Some Address here",
"customer_proser": "product sold",
"customer_product_hsn": "ad@dsg.fwe",
"customer_product_sac": "fwsff",
"reg_date": "2021-03-20 18:32:08"
}
]
Как получить эти данные по отдельности?
Я попытался следовать кодам, но получил ошибку, как будто эти поля отсутствуют:
1> {{$currentcustomer["customer_id"]}}
2> {{$currentcustomer->customer_id}}
Комментарии:
1. Метод
get()
возвращает вам массив. Если вы хотите получить доступ к одному клиенту, используйтеfirst()
. Без изменения метода вы должны иметь возможность получить доступ к идентификатору пользователя с помощью{{ $currentcustomer[0]->customer_id}}
2. Большое спасибо
Ответ №1:
Вы должны использовать вот так
function showCustData($cust_id ){
$get_cust_data = AddCustomer::where('customer_id', $cust_id)->first();
return view('edit_customer',compact('get_cust_data'));
}
И в вашем представлении файл просто используйте вот так
{{ $get_cust_data->customer_id }} or {{ $get_cust_data->customer_type }} or ...
Комментарии:
1. @knath632, Если это работает, пожалуйста, примите и помогите другому разработчику, который столкнется с той же проблемой
Ответ №2:
Вы хотите показать отдельные данные, очень легко извлечь данные из базы данных с помощью first()
метода. Вы можете использовать этот метод в своем controller
showCustData()
методе.
Способ управления
function showCustData($cust_id ) {
$currentcustomer = AddCustomer::where('customer_id', $cust_id)->first();
return view('edit_customer', compact('currentcustomer'));
}
Вид лезвия
{{ $currentcustomer->customer_id }}
Комментарии:
1. Я попробовал этот код, и он выдает мне следующую ошибку: Попытка прочитать свойство «customer_id» в строке (Вид: E:xampphtdocssaledocresourcesviewsedit_customer.blade.php)
2. Обновите мой ответ. Проверьте это.
3. он показывает следующую ошибку: Неопределенная переменная $currentcustomer (Вид: E:xampphtdocssaledocresourcesviewsedit_customer.blade.php) $currentcustomer не определен
4. уточните у
dd($currentcustomer)
5. Это становится ошибкой, но голосуйте. Это действительно несправедливо
Ответ №3:
Просто Используйте @foreach в Представлении, и Вы Сможете Получить Доступ К Объекту Массива
@foreach ($users as $user)
<p>This is user {{ $user->id }}</p>
@endforeach
и вы могли бы ознакомиться с документацией laravel документация по лезвию laravel