2017-08-10 54 views
0

你好,我真的是Laravel的新手。所以我真的需要一些幫助。php - 如何僅顯示錶格上的最後一個字Laravel

我需要我的桌子上的幫助。從我的表視圖包含App\Models\StoreApp\Models\Product,但我只是希望每個App\Models\StoreApp\Models\ Product,只顯示爲商店和產品

這是我在我的桌子

<td> 
    <label> 
     <a href="{!! route('reports.tolink', [$report->id]) !!}" target="_blank"> 
      {!! $report->reportable_type !!} 
     </a> 
    </label> 
</td> 

$報告 - > reportbale_type它包含代碼應用程序\型號\ Store和App \型號\產品

,這是我的控制器

public function toLink($id) 
{ 
    $report = $this->reportRepository->findWithoutFail($id); 

    //get Store Name 
    $name = Store::where('id','=',$report->reportable_id)->pluck('name')->all(); 
    $storename = $name[0]; 

    //get Store ID 
    $idstore = Store::where('id','=',$report->reportable_id)->pluck('id')->all(); 
    $storeid = $idstore[0]; 

    if(empty($report)) 
    { 
     Flash::error('Report not found'); 
     return redirect(route('reports.index')); 
    } 

    $report_type = class_basename($report->reportable_type); 
    return redirect(env('FRONTEND_URL') ."/".str_slug($report_type)."/$storeid/".str_slug($storename)); 

} 

這是我的表 and this is the table

回答

1

有幾種方法可以做到這一點。

您可以使用反射來獲取短名稱

(new \ReflectionClass($report->reportable_type))->getShortName() 

您可以通過\爆炸並得到最後一個項目

array_pop(explode('\\', $report->reportable_type)) 

使用substrstrrpos

substr($report->reportable_type, strrpos($report->reportable_type, '\\') + 1) 

你可以使用上述方法之一併添加一個吸氣劑到你的Report型號。

public function getReportableTypeNameAttribute() 
{ 
    return (new \ReflectionClass($this->reportable_type))->getShortName(); 
} 

這將允許您在您的意見中致電$report->reportable_type_name

相關問題