2016-10-25 5 views
0

Я новичок в Laravel, и я пытаюсь получить clasa_id из таблицы clasa в таблице elevi.MYSQL select query в 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' 

и добавить его в clasa_id из elevi таблицы

как его реализовать? Спасибо!

+0

Является '' Clasa' и Elevi' треска es рядом друг с другом? Вы можете просто сделать '$ elev-> clasa_id = $ clasa-> id', если это так. – aynber

+1

Я работаю в laravel5, и у меня есть 2 разных контроллера для Clasa и Elevi. Clasa_id is и auto_increment в таблице clasa, где у меня много классов (например, 10A, 10B), и я хочу получить идентификатор определенного класса –

+1

Я имею в виду, что в этом случае я всегда буду отправлять в таблицу elevi новую сгенерированную id –

ответ

0

Лучший вариант передать $clasa объект в функцию, где вы создаете Elevi::class и использовать его как:

$clasa->id 

Если прохождение объекта не вариант, то вы можете написать запрос для извлечения соответствующего $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}", но не только 5? –

+1

Для вашего первого вопроса обратитесь к ссылке [this] (https://laravel.com/docs/5.3/eloquent#retrieving-single-models), и я не получил второй вопрос. –