2015-12-21 5 views
0

Привет я новичок в laravel и пытаюсь сделать одно для многих отношений, где я пытаюсь получить имя клиента от клиентов и order_no от имени клиента из таблицы заказов, вот кодне в состоянии сделать hasMany отношения в eloquent laravel 5.1

//--customer Model 
class customer extends Model { 
    public function order(){ 
    return $this->hasMany('App\order'); 
} 
} 

//-- order Model 
class order extends Model { 
    public function customer(){ 
    return $this->belongsTo('App\customer'); 
     } 
    } 

    //--controller 
    public function searchRecord(){ 
    $customer = customer::all(); 
    return view('orders.searchRecord')->with('customer', $customer); 
    } 

    //--View 

@foreach($customer as $customer)           
{{$customer->customer_name}}<br /> 
@endforeach 

, когда я использую {{$customer->customer_name}} печатает все имя клиента в порядке, но когда я использую {{$customer->order}} печатает весь JSON таблицы заказа, но если я {{$customer->order->order_no}} это дает ошибку неопределенное свойство $ order_no.

ответ

0

Вы определили ваш на клиенте> Заказ отношения, как один-ко-многим, что означает, что один клиент может иметь несколько заказов. Поэтому, когда вы обращаетесь к $ customer-> order, вы получаете доступ к объекту , который хранит заказ всех клиентов, а не один заказ. Нет order_no Недвижимость в Коллекция класс, вот почему вы получаете сообщение об ошибке.

Один из способов получить доступ к invidual заказов вам нужно перебирать коллекции:

foreach ($customer->order as $order) { 
    echo $order->order_no; 
} 
+0

так я Шоуда сделать цикл по каждому элементу в стороне Еогеасп? – mohsin

+0

Я не знаю, что вы хотите отобразить там. Но да, если вы хотите итерации по всем клиентам и их заказам, вам понадобится вложенный foreach –

+0

oh ya Я просто сделал это, он работает, спасибо дорогой – mohsin

Смежные вопросы