Sản phẩm có mối quan hệ một-nhiều, 'productbrand', với productbrand bảng và productbrand có mối quan hệ một-một, 'thương hiệu', với thương hiệu bảng. Bảng thương hiệu có một cột, 'thương hiệu'. Và tôi có thể truy cập vào thương hiệu của sản phẩm. Tất cả các danh mục khác, tên người dùng, v.v ... đều được truy cập đúng cách.Truy cập các mối quan hệ Laravel trong mã JavaScript
public function show(Request $request)
{
if($request->ajax())
{
$id = $request->id;
if($id)
{
$show = Product::where(['product_id'=>$id])->first();
$category = $show->category->category;
$username = $show->user->username;
$getbrands = $show->productbrand;
foreach($getbrands as $getbrand)
{
$brand=$getbrand->brand->brand;
}
if($show)
{
echo json_encode(array('status' => TRUE, 'show' => $show, 'username' => $username, 'category' => $category, 'brand' => $brand)); die;
}
}
}
echo json_encode(FALSE);die;
}
Ajax và jQuery:
$.ajax({
type: "POST",
url: "{{url('/product/show')}}",
data: {id:id},
success: function (data) {
var res = $.parseJSON(data);
if(res.status == true)
{
var result = 'Category: ' + res.category + '<br>' +
'Product by: ' + res.username + '<br>' +
'Brands: ' + res.brand + '<br>' +
'Price: ' + res.show.price + '<br>' +
'Price type: ' + res.show.price_type + '<br>' +
'Product Views: ' + res.show.views + '<br>';
$('#result').html(result);
}
}
});
Bằng cách này tôi có thể nhận được chỉ có một thương hiệu. Tôi cũng đã thử theo cách sau, nhưng thất bại.
Trong bộ điều khiển:
$getbrands = $show->productbrand;
echo json_encode(array('status' => TRUE, 'show' => $show, 'username' => $username, 'category' => $category, 'getbrands' => $getbrands));
Trong Ajax:
for(var i=0; i<res.getbrands.length; i++)
{
var brands=res.getbrands[i].brand.brand; //First 'brand' is relation and second is the brand I am trying to access
}
Hãy thử điều này: $ show = Product :: where (['product_id' => $ id]) -> với ('productbrand') -> first(); –
@Autista_z sự cố đang truy cập bằng javascript. – micky
Tôi đã viết một câu trả lời, nhưng tôi đã nhận thấy rằng mã của bạn rất, rất lạ. Tôi thực sự đề nghị bạn hãy xem các bài học www.laracasts.com, bạn sẽ học được rất nhiều về laravel. Chúc may mắn. –