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



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