Отношение Laravel ORM возвращает данные в виде массива вместо объекта

Я пытался получить данные реляционной модели, например

{{$OrderInfo->CustomerInfo->Phone}}

но выдает ошибку вроде

Trying to get property of non-object

Хотя мы можем легко получить доступ к возвращаемым данным, например

{{$OrderInfo->CustomerInfo['Phone']}}

Моя работа временно работает, но я не был удовлетворен. Он должен работать для доступа к данным как к объекту. Потому что я думаю, что это правильный процесс для доступа к данным. Пожалуйста, может кто-нибудь помочь мне выйти из проблемы.

Заранее большое спасибо за ваше драгоценное время!

Заказ, модель клиента и мой код контроллера приведены ниже

use Carbon\Carbon;
use App\OrderInfo;
use App\CustomerInfo;
use Mail;

class AdminOrderController extends Controller
{
    public function index(Request $request)
    {    
        $Orders = OrderInfo::orderBy('OrderDate', 'DESC')->get();    
        return view('admin.admin-order-list', [        
            'Orders' => $Orders,        
        ]);    

     }
}


namespace App;    
use Illuminate\Database\Eloquent\Model;    
class OrderInfo extends Model
{        
    protected $table = 'order_info';
    public $timestamps = false;        
    protected $primaryKey = 'OrderId';        

    public function CustomerInfo()
    {
        return $this->belongsTo('App\CustomerInfo', 'CustomerID');
    }        
}

namespace App;
use Illuminate\Database\Eloquent\Model;

class CustomerInfo extends Model
{    
    protected $table = 'customer_info';
    public $timestamps = false;    
    protected $primaryKey = 'CustomerID';    
    protected $fillable = ['CustomerID','Phone'];

    public function OrderInfo()
    {
        return $this->belongsTo('App\OrderInfo', 'CustomerID');
    }    
}

Вы пытались передать данные в свое представление с помощью compact('Orders') вместо передачи массива?!

Soheil Rahmat 13.02.2019 20:18

Спасибо за вашу помощь @SoheilRt. Это имеет значение. Я не пробовал это, позвольте мне проверить и сообщить здесь.

Shamsi786 14.02.2019 02:00

Я не был знаком с компактом @soheil-rt. Хотя я передал данные для просмотра файла, например return view('admin.admin-order-list', [ 'user' => $user, 'page_name' => 'Order List', 'OrderStatus'=>$OrderStatus ])->with(compact('Orders'));, но все равно не работает та же ошибка Попытка получить свойство не-объекта

Shamsi786 14.02.2019 02:46
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
1
3
368
0

Другие вопросы по теме