无法在雄辩的拉拉威尔5.1中建立hasMany关系


not able to make hasMany relationship in eloquent laravel 5.1

嗨,我是laravel的新手,正在尝试建立一对多关系,我试图从客户那里获得客户名称,并根据订单表中的客户名称订购订单,这是代码

//--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。

您已将客户->订单关系定义为一对多,这意味着单个客户可以有多个订单customer->order时,您访问的是存储所有客户订单的Collection对象,而不是单个订单。Collection类中没有order_no属性,这就是出现错误的原因。

访问invidual订单的一种方法是,您需要在集合中迭代:

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