php - 如何使用 laravel 从斜杠 (/) 展开并得到最后一个词
php - How to use laravel explode from the slash (/) and get the last word
嗨,我是 Laravel 的新手。所以我真的需要一些帮助,我需要从 $report->reportable_type 和包含 App/Models/Store 和 App/Models/Product 的 reportable_type 中得到最后一个词。所以我想分解斜线 (/) 并得到最后一个词,它表示商店或产品。
我控制器中的代码有效,但它使用 print_r,我不想使用 print_r。
这是我的控制器
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 = $report->reportable_type;
print_r (explode("/",strrpos($report_type, '/') + 1),$report_type);
return redirect(env('FRONTEND_URL') ."/".str_slug($reportable_type)."/$storeid/".str_slug($storename));
}
Laravel 辅助函数 class_basename
就是这样做的。
$type = class_basename($report->reportable_type);
更新:
如果你真的想使用 explode 函数,你可以使用 Laravel last
助手来获取数组的最后一个元素。
$type = last(explode('/', $report->reportable_type));
嗨,我是 Laravel 的新手。所以我真的需要一些帮助,我需要从 $report->reportable_type 和包含 App/Models/Store 和 App/Models/Product 的 reportable_type 中得到最后一个词。所以我想分解斜线 (/) 并得到最后一个词,它表示商店或产品。
我控制器中的代码有效,但它使用 print_r,我不想使用 print_r。
这是我的控制器
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 = $report->reportable_type;
print_r (explode("/",strrpos($report_type, '/') + 1),$report_type);
return redirect(env('FRONTEND_URL') ."/".str_slug($reportable_type)."/$storeid/".str_slug($storename));
}
Laravel 辅助函数 class_basename
就是这样做的。
$type = class_basename($report->reportable_type);
更新:
如果你真的想使用 explode 函数,你可以使用 Laravel last
助手来获取数组的最后一个元素。
$type = last(explode('/', $report->reportable_type));