2014-04-14 2 views
1

현재 company_name 열을 사용하여 테이블 설정을 만들어 설정 페이지를 만들려고합니다. 내 생각은 단일 값 company_name을 가져 와서 페이지의 제목과 이름이 나타나는 위치에 인쇄하는 것입니다. DB에서 배열 리턴을 변환하는 방법을 잘 모르겠다. select를 올바르게 인쇄 할 수 있어야한다.laravel을 사용하여 데이터베이스에서 단일 값 가져 오기 및 인쇄

코드 :

public function __construct() 
{ 
    $company_name = DB::table('settings')->select('company_name')->get(); 

    return View::share('company_name', $company_name); 
} 

그리고 그것은 문자열 배열을 변환 할 수 있지만, {{$의 COMPANY_NAME}}으로 블레이드 시스템에 인쇄 할 수 있습니다.

답변

1

중 하나를 사용하여 다음과 같이 될 것이다 (내가 추천 할 것) 웅변 :

$company_name = Setting::first()->company_name; 

또는 유창 사용 :

$company_name = DB::table('settings')->company_name; 
+0

굉장! 나는 실제로 Eloquent를 사용하는 사람과 가까웠다. $ company_name = Setting :: where ('id', '=', '1') -> firstOrFail(); 내 유일한 관심사는 다음과 같습니다. { "company_name": "NOMBRE DE EMPRESA"} –

+0

나쁘다, 지금 당장 해결해야 할 답변을 편집했습니다. – alxscms

0

->first()을 사용하여 반환 된 세트의 첫 번째 값을 선택할 수 있습니까?

+0

을 그리고 당신이 가지고있는 경우 당신의 설정에 하나 이상의 엔트리가 있다면, 아마도 '-> where ($ id, $ _COOKIE [ "Session Id "])'를 추가하고 테이블에'SessionID' 컬럼을 추가하십시오. – Chrisky

+0

"Object of class stdClass를 문자열로 변환 할 수 없습니다"라는 메시지가 반환됩니다. –

0

DB 스키마를 다시 생각해보십시오.

하지만이 대답은 당신이 현재 스키마 작업 유지하려는 경우 :

DB::table('settings')->select('company_name')->first(); 

이 설득력 ModelNotFound 예외를 던질 수 있습니다.

편집

public function __construct() 
{ 
    $result = DB::table('settings')->select('company_name')->first()->toArray(); 

    return View::share($result); 
} 
+0

불행히도이 방법은 작동하지 않습니다. 실제로 errorBadMethodCallException을 반환합니다. 정의되지 않은 메서드를 호출합니다. \ Database \ Query \ Builder :: firstOrFail() –

+1

맞아요, @ LucasGomez! 나는 오늘 무언가를 배웠다! [쿼리 작성기] (https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Query/Builder.php)에는 해당 메서드가 없습니다. Eloquent를 사용하는 또 하나의 이유. 대신에'-> first()'메쏘드를 사용하십시오. – hannesvdvreken

+0

그래, 나는이 설정 (주로 업데이트)에 대해 내가 실제로있는 Eloquent 모델을 사용할 때만 작동한다는 것을 읽고 있었다. first(); "클래스 stdClass의 객체를 문자열로 변환 할 수 없습니다"를 반환합니다. –

관련 문제