2014-03-12 3 views
0

MySql에서 구성된 Laravel 데이터베이스 마이그레이션이 있으며 다른 클래스에서 액세스 할 수 있도록 모델에서 데이터베이스 쿼리를 호출하는 방법을 파악하려고합니다. 나는 컨트롤러와이 함수를 호출하려고 클래스 DB를 찾을 수 없습니다 오류가 발생하고Laravel 모델의 MySql 데이터베이스 쿼리 관련 문제

public function insertUsers(string $userName, string $email) 
    { 
     return DB::table('users')->insertGetId(
      array('username' => '$userName', 'useremail' => '$email') 
      ); 
    } 

내가 할 수 없습니다 :이처럼 내 응용 프로그램/모델 파일 내부의 기능 중 하나가 모습입니다

해결책을 찾아내는 데 도움이되거나 올바른 방향으로 나아가는 단계가 아주 좋습니다. 시간 내 주셔서 감사 드리며 필요한 경우 더 많은 정보를 제공해 드릴 수 있습니다.

편집 : 내 수업을 연장해야한다고 생각하는데, 이것이 올바른지 누구든지 확인할 수 있습니까?

<?php 

    class GenericQueries{ 

내가
class GenericQueries extends Migration{ 

을 시도했지만 여전히 작동하지 않습니다 :이 클래스 선언의 모습입니다. 어떤 도움을 주셔서 감사합니다.

+0

사용중인 쿼리가 단순한 클래스를 만들고이를 사용하기 시작하면 모든 클래스에서 모델을 확장 할 필요가 없습니다. 이 DB \ table :: table()과 같이 DB 앞에 DB 클래스가 없으면 http://stackoverflow.com/questions/21111847/how-to-create-laravel-model-without-에 대한 링크를 확인하십시오. 능숙한 – umefarooq

답변

1

우리는 도우미를 제작하여이 작업을 수행 할 수 있습니다 또는 단순히는 Helper.php라는 파일을 라이브러리 폴더에서 모델 에서 수행하고 그 안에 할 수 있습니다

<?php 
    class Helper{ 
    public static function GetResult($param1, $param2) 
    $data = DB::table('users')->insertGetId(
     array('username' => '$param1', 'useremail' => '$param2') 
     ); 
    return $data; 
    } 

을 그리고 컨트롤러에 전화

 Helper::GetResult($usernaem,$email); 

또한 동일한 방법으로 모델에서 수행 할 수 있습니다. 그러나이를 수행하는 모범 사례와 방법은 라이브러리에서 클래스를 작성하는 것입니다. 위에서 설명한대로.

+0

답장을 보내 주셔서 감사합니다. 늦어 져서 내일 일찍 추가하고 테스트 해 보겠습니다. – cjw

+0

문제 없습니다./app/library 아래에 라이브러리 폴더가있어 클래스를 만들고 물건을 만들어보세요 !! –

+0

도움을 주셔서 감사합니다! 그냥 작동 시켰어. – cjw