2016-10-25 16 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にそれを追加したい

それを実装する方法は?ありがとうございました!

+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->id 

などのオブジェクト:

$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)リンクを参照してください。私はあなたの2番目の質問をしませんでした。 –