2016-10-25 5 views
0

나는 Laravel을 처음 사용하고 있으며, elevi 테이블의 clasa 테이블에서 clasa_id를 받으려고합니다.MYSQL에서 PHP로 쿼리 선택

$clasa = new Clasa(); 
    $clasa->cifra = \Auth::user()->clasa_cifra; 
    $clasa->litera = \Auth::user()->clasa_litera; 
    $clasa->save(); 


    $elev = new Elevi(); 
    $elev->nume = $request['nume']; 
    $elev->prenume = $request['prenume']; 
    $elev->clasa_id = ????? 
    $elev->save(); 

는 우선 clasa 테이블에 나는 clasa_cifra 및 clasa_litera을 추가하고 자동 증가 clasa_id를 생성하고 난

select 'clasa_id' from 'clasa' where 'clasa_cifra=\Auth::user()->clasa_cifra, clasa_litera=\Auth::user()->clasa_litera' 

을하고 elevi 테이블에서 clasa_id에 추가 할

구현 방법은 무엇입니까? 고맙습니다! 객체를 전달하는 것은 당신이 $clasa 대응을 가져올 쿼리를 작성할 수있는 옵션이 아닙니다

$clasa->id 

경우

+0

를 사용하여 ID를 얻을 수는'Clasa'와'Elevi' 대구가 서로 바로 옆에 있니? 그렇다면'$ elev-> clasa_id = $ clasa-> id' 만 할 수 있습니다. – aynber

+1

나는 laravel5에서 일하고 있으며 Clasa와 Elevi에게는 2 개의 다른 컨트롤러가 있습니다. clasa_id는 clasa 테이블의 auto_increment이며, 클래스 (10A, 10B 등)가 많이 있고 특정 클래스의 ID를 얻고 싶습니다. –

+1

이 경우에는 항상 새로운 테이블을 생성합니다. id –

답변

0

가장 좋은 옵션은 Elevi::class을 작성중인 함수에서 $clasa 개체를 전달하고 그것을 사용하는 것입니다 개체로 :

$clasa = Clasa::where('cifra', \Auth::user()->clasa_cifra) 
     ->where('litera', \Auth::user()->clasa_litera) 
     ->select('id') 
     ->first() 

하고 $clasa->id

+1

-> first() 함수는 무엇을합니까? –

+1

그리고 왜 id_clasa에서 "{"id_clasa ": 5}"값을 얻을 수 있습니까? –

+1

첫 번째 질문은 [this] (https://laravel.com/docs/5.3/eloquent#retrieving-single-models) 링크를 참조하십시오. 두 번째 질문을받지 못했습니다. –