Получить данные в edit_customer.blade.php файл

#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