2016-10-13 7 views
0

idの代わりにproject nameを表示する必要があります。 私はそれをしましたが、コントローラーにidが必要な場合はどうすればいいですか?私はそれを使って関連するproject imagesなどを取得しています。どのようにこれを行うことができます。ここ laravel - 経路を使用しているURLにidの代わりに名前を表示

は私のルート

Route::model('project/{name}/{sub}', array('uses' => '[email protected]')); 

であり、ここであなたは、私が成功しproject_titleで指定されたルートを持っています見ることができるようになりました私のコントローラ

public function show($name) 
    { 
     $seg = Request::segment(3); 

     $pro = Projects::where('pro_title', $name)->first(); 
     $proImg = ProjectsImages::where('image_id', $id)->get(); 
     $proPln = ProjectsPlans::where('image_id', $id)->get(); 
     $services = $pro->pro_serves; 
     $service = explode(',', $services); 

     switch ($seg) { 
      case "project-plans": 
       return View::make('projects.projectDetails.verticalPlans', compact('pro', 'proPln')); 
       break; 
      case "project-images": 
       return View::make('projects.projectDetails.projectImages', compact('pro', 'proImg')); 
       break; 
      case "project-map": 
       return View::make('projects.projectDetails.projectPlace', compact('pro')); 
       break; 
      case "project-features": 
       return View::make('projects.projectDetails.projectFeatures', compact('pro', 'service')); 
       break; 
      default : 
       return View::make('projects.projectDetails.aboutProject', compact('pro')); 
       break; 
     } 
    } 

ですが、私は取得するには、あまりにもidを必要とします他のもの

私はこれをどのように達成しなければならないのですか?あなたは、コントローラ

でIDを取得することができます

+2

カントことを渡しますpro-> id'? – Neat

+0

これは私の 'route'の私の間違いでした' get'の代わりに 'model'を使いました。現在はうまく動いています –

答えて

2

あなたは

$pro = Projects::where('pro_title', $name)->first(); 

を使用して、プロジェクトのすべてのデータを取得し、その後、あなたは `$を使用してIDを取得する検索されたIDなどの

$proImg = ProjectsImages::where('image_id', $pro->id)->get(); 
     $proPln = ProjectsPlans::where('image_id', $pro->id)->get(); 
+0

ありがとうございます。しかし、プロジェクトの画像を見ようとすると' http:// localhost私は 'symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException'というアイデアを得ます。 –

+0

@ YousefAltaf.try各ステップを印刷してください。wheatherデータがそこにありますdb – iCoders

+0

私の' route'は、 '/ usr// {sub} 'は' project-images、plans、etc. 'を保持する3番目のpramであり、 '$ seg = Request :: segment(3);によってそれらの間を切り替えます。あなたは? –

関連する問題