2014-10-17 1 views
0

간단한 PHP에서 정상적으로 수행 할 작업을 가장 잘 수행하는 방법을 고민하는 데 어려움이 있습니다.라우트보기에서 URL 데이터 사용

/viewbuild/2 

목적은 viewbuild 뷰이고 2는 데이터베이스 행의 id 점이다 :

나는 다음과 같은 URL이 있습니다.

$id = $_GET['id']; 

그러나 올바르게 laravel를 사용하여 할 알아낼 질수 :

는 일반적으로 그것은 단순히 것입니다.

내 경로입니다 :

Route::get('viewbuild', function() 
{ 
    return View::make('viewbuild'); 
}); 

그리고 내보기에 나는 예를 들면했던이 올바르게 2의 ID와 행에 대해 테이블을 구축하고 그 표시 검색

<?php 
    $build = Build::find(20); 
?> 

{{ $build->id }} 

을 신분증.

내가 지금하고 싶은 것은 URL에서 '20'값을 가져 오는 것입니다. 내보기에

Route::get('/viewbuild/{build_id}', function($build_id = null) 
{ 
    $data = array(
    'build_id' => $build_id, 
); 
    return View::make('viewbuild', $data); 
}); 

그리고 다음을 :

나는 시도

$build = Build::find(build_id); 

하지만 정의되지 않은 상수 오류를 얻을.

어떤 도움이 필요합니까?

+0

확실하지하지만 보인다. build_id에 대한 "build_ud" – engvrdr

+0

그래, 그걸 알아 차 렸지만 해결 됐어. 나는 잘못된 방향으로 가고 있다고 생각합니다.컨트롤러에 URL을 전달하려고 시도한 다음보기를 만듭니다. – Lovelock

+0

컨트롤러에서 객체를 빌드하고 객체를 전달하는 대신에 더 나은 방법이 될 것입니다. – engvrdr

답변

0

기본적으로 나는 빠른 코드보고에서 두 가지를 볼 수 있습니다

  1. 오타 난 당신이 상수를 참조하는
  2. 추정 build_id해야 뷰 build_ud에 전달되는 배열을 설정할 때 보기에 전달 된 전달 된 변수 대신 build_id ($ 기호)를보아야합니다. 즉 :

$ build = Build :: find (build_id);

은 다음과 같아야합니다

$ 빌드 = 빌드 : ($ build_id) 찾을;

+0

답장을 보내 주셔서 감사합니다. 올바른 방법을 찾아 냈습니다. 다음 질문을 많이 해결했습니다. 고마워요 :) – Lovelock

0

귀하의 노선 폐쇄는 다음과 같이한다 : 당신이 볼 통과 배열에 오타가 같은

Route::get('/viewbuild/{build_id?}', function($build_id = null) 
{ 
    // Query the database here instead of inside the view 
    $build = Build::find($build_id); 

    return View::make('viewbuild', compact('build')); 
}); 
+0

고마워, 질문하지만,이 페이지는 폴더로 취급되고 있습니다. 그래서 내 CSS 등 viewbuild/css/main.css에 연결됩니다. 어떤 생각을 고치는 방법? – Lovelock

+0

URL이'/'로 시작하는지 확인하십시오. 경로가 루트 경로와 관련이 있습니다. 그래서 당신의 CSS 링크는'href = "/ path/to/file.css"'(맨 앞의'/'에주의하십시오) – Bogdan

+0

네거티브인데, viewbuild 페이지는 'about'과 같은 레벨에 있으며 about 페이지에 있습니다. 그것은 잘 작동합니다. 하지만 URL은 viewbuild/id라고 생각하기 때문에 viewbuild가 디렉토리라고 생각합니까? – Lovelock