[英]not able to make hasMany relationship in eloquent laravel 5.1
嗨,我是laravel的新手,並嘗試建立一對多關系,在這里我試圖從客戶那里獲取客戶名稱,而從訂單表中獲取客戶名稱與order_no,這是代碼
//--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屬性,這就是您收到錯誤的原因。
您需要遍歷集合的一種訪問單個訂單的方法:
foreach ($customer->order as $order) {
echo $order->order_no;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.