Example #1
0
 public function create_belongsToMany_relation_with(Request $request, Table $toModel)
 {
     $model = $this;
     $devis = Devis::find($request->devis_id);
     $pivotTable = Table::findOrCreate_pivotTable($request, $model, $toModel);
     $from_field_name = snake_case($model->model) . '_id';
     $to_field_name = snake_case($toModel->model) . '_id';
     $field = $model->findOrCreate(['name' => 'id', 'is_primary' => true, 'is_incrementable' => true, 'field_type_id' => 1]);
     $fieldPivot = $pivotTable->findOrCreate(['name' => $from_field_name, 'is_primary' => true, 'is_unsigned' => true, 'is_incrementable' => false, 'field_type_id' => 1]);
     $toField = $toModel->findOrCreate(['name' => 'id', 'is_primary' => true, 'is_incrementable' => true, 'field_type_id' => 1]);
     $toFieldPivot = $pivotTable->findOrCreate(['name' => $to_field_name, 'is_primary' => true, 'is_unsigned' => true, 'is_incrementable' => false, 'field_type_id' => 1]);
     $field->relations()->attach($fieldPivot, ['from_field_name' => $field->name, 'to_field_name' => $fieldPivot->name, 'laravel_name' => $request->laravel_name, 'to_model' => $toModel->id, 'on_field_id' => $toField->id, 'pivot_table_id' => $pivotTable->id, 'pivot_table_name' => $pivotTable->name]);
     $toField->relations()->attach($toFieldPivot, ['from_field_name' => $toField->name, 'to_field_name' => $toFieldPivot->name, 'laravel_name' => $request->laravel_name, 'to_model' => $model->id, 'on_field_id' => $field->id, 'pivot_table_id' => $pivotTable->id, 'pivot_table_name' => $pivotTable->name]);
     //dd($from_field_name);
     // if ( !  $field->has_relation($toField)) {
     //
     //     var_dump('creation de la erlation');
     //     //$field->relations()->attach($toField, ['from_field_name'=>$field->name, 'to_field_name'=>$toField->name, 'laravel_name'=>$request->laravel_name, 'pivot_table_name'=>'']);
     // }
     // else {
     //     Flash::error('A relation Already exists beetween this 2 fields');
     //     return false;
     // }
 }