2014-11-24 5 views
0

У меня эти две таблицы таблица пользователей и таблица посещаемости. Вот что я хочу сделать: При вставке пользователя в таблицу User также будет обновляться таблица посещаемости (user_id таблицы пользователя будет вставлена ​​в таблицу посещаемости в качестве внешнего ключа), основной ключ моей таблицы пользователя - это автоматическое увеличение, поэтому я не могу вставить его вручную в таблицу посещаемости, что мне делать? Есть ли чит в laravel, который может сделать это легко?Множественная вставка в одном Query Laravel

Вот мой контроллер для регистра

public function register() 
    { 
     $myemployee=Employee::all(); 
     return View::make('registration',compact('myemployee')); 
    } 

    public function registerEmp() 
    { 
     $input = Input::all(); 


     $command = new Employee; 
     $command->firstname=$input['firstname']; 
     $command->lastname=$input['lastname']; 
     $command->position=$input['position']; 
     $command->save(); 

     return Redirect::action('[email protected]'); 


    } 

Вот мой Migration

  public function up() 
     { 
      Schema::create('employees',function($table) 
      { 
       $table->increments('id'); 
       $table->text('firstname'); 
       $table->text('lastname'); 
       $table->text('position'); 
       $table->timestamps(); 

      }); 

       public function up() 
     { 
      Schema::create('attendances', function(Blueprint $table) 
      { 
       $table->integer('user_id')->unsigned(); 
       $table->foreign('user_id')->references('id')->on('employees'); 
       $table->timestamp('intime'); 
       $table->timestamp('offtime'); 
      }); 
     } 

Employee.php файл

  <?php 

      class Employee extends Eloquent 
      { 

      } 



      ?> 

ответ

0

Вы можете получить последний вставленный идентификатор в таблице пользователей с помощью назначая возвращаемое значение User :: create(), которое является статическим Illuminate \ Database \ Eloquent \ Model, переменной, n используйте эту переменную для вставки user_id в таблицу посещаемости.

Вот пример:

public function registerEmp() { 
    $input = Input::all(); 

    // Create an employee. 
    $employee = Employee::create($input); 

    // Create an attendance entry as well. 
    Attendance::create([ 
     'user_id'=>$employee->id, 
     // other columns... 
    ]); 

    return Redirect::action('[email protected]');} 
+0

Я все еще читаю его, берет меня время, чтобы понять. Новичок здесь. Извините, но я закончу, просто нужно время. Благодарю. –

+0

будет ли этот код работать на контроллере? –

+0

Извините, я действительно новичок в laravel –

Смежные вопросы