簡體   English   中英

如何在刀片視圖上顯示所選ID的內容? Laravel

[英]How to display on blade view the contents of a selected id? Laravel

我是laravel的新手,我很難顯示在刀片​​視圖中選擇的包裝項目。 我可以在一個刀片視圖中顯示所有軟件包。 目的是讓我在刀片視圖中單擊包裝時查看其中的內容。

PackageItems表

id | package_id | item_id | qty

package_id是來自packages表的外鍵,而item_id是來自items表的外鍵

這是我獲取數據的方式:

調節器

public function showPackageItems($id)
{
    $package = Package::find($id)
    ->with('packageitems')
    ->where('id', '=', $id)
    ->get();
    return view('admin.packages.show')->with('package', $package);
}  

包裝型號

public function packageItems()
{   
    return $this->hasMany(PackageItem::class, 'package_id') ; 
}

PackageItem模型

public function package()
{   
    return $this->belongsTo(Package::class,'package_id') ; 
}

showItems刀片視圖

@foreach($package as p)
 <td>{{$p->packageItem->item_id}}</td> //error
 <td>{{$p->qty}}</td> //error as well
@endforeach  

我已經嘗試過dd($ package),並且得到了正確的結果。 我的問題是如何在刀片視圖中顯示它。

在控制器中

public function showPackageItems($id)
{
    $package = Package::with('packageItems')
    ->where('id', '=', $id)
    ->get();
    return view('admin.packages.show')->with('package', $package);
}  

刀片式

@foreach($package as $p)
 <td>{{$p->packageItem->item_id}}</td> //error
 <td>{{$p->qty}}</td> //error as well
@endforeach 

嘗試這個

Controller

public function showPackageItems($id)
{
    $package = Package::find($id)
                     ->with('packageItems')
                     ->where('id', $id)
                     ->first();

    return view('admin.packages.show', compact('package'));
}  

Blade file

{{ $package->id }} //you can access package instance like that.

//for packageItems
@foreach($package->packageItems as $p)
 <td>{{ $p->item_id }}</td> 
 <td>{{ $p->qty }}</td>
@endforeach 

更改有關如何檢索記錄的代碼

使用find和get有所不同: Eloquent中find和get的區別

另外,您需要先獲取packageitems

public function showPackageItems($id)
{
    $package = Package::with('packageitems')
    ->where('id', '=', $id)
     ->get();
   return view('admin.packages.show')->with('package', $package);
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM