3

I am tring to insert data in a table.

trying like this but it`s not working.

$sql = $queryBuilder->insert(' HRMS_candidateEducation', [
                 'HRMS_candidateEducationCandidateID' => $candidateID,
                 'HRMS_candidateEducationDegree' => $data['Degree'.$i],
                 'HRMS_candidateEducationUniversity' => $data['University'.$i],
                 'HRMS_candidateEducationCollege' => $data['College'.$i],
                 'HRMS_candidateEducationYear' => $data['Specilization'.$i], 
                 'HRMS_candidateEducationSpecilization' => $data['Specilization'.$i],
                ], $params);

What is incorrect?

using

use yii\db\QueryBuilder;
use app\models\CandidateEducation;
2
  • what errors you got? Commented Oct 13, 2015 at 4:35
  • Why you do not use save method of CandidateEducation's AR class? Commented Oct 13, 2015 at 7:50

2 Answers 2

4

This function seem only create the SQL statement see doc

insert() Creates an INSERT command

for executing the command i think you shoul try this way

Yii::$app->db->createCommand()->
 insert(' HRMS_candidateEducation', [
             'HRMS_candidateEducationCandidateID' => $candidateID,
             'HRMS_candidateEducationDegree' => $data['Degree'.$i],
             'HRMS_candidateEducationUniversity' => $data['University'.$i],
             'HRMS_candidateEducationCollege' => $data['College'.$i],
             'HRMS_candidateEducationYear' => $data['Specilization'.$i], 
             'HRMS_candidateEducationSpecilization' => $data['Specilization'.$i],
            ], $params)->
 execute();
Sign up to request clarification or add additional context in comments.

Comments

0

I found another solution to my question.

This is what i did. by following this link.

public function actionCreate()
{
  $a=new A;
  $b=new B;
 if(isset($_POST['A'], $_POST['B']))
{
    // populate input data to $a and $b
    $a->attributes=$_POST['A'];
    $b->attributes=$_POST['B'];

    // validate BOTH $a and $b
    $valid=$a->validate();
    $valid=$b->validate() && $valid;

    if($valid)
    {
        // use false parameter to disable validation
        $a->save(false);
        $b->save(false);
        // ...redirect to another page
    }
}

$this->render('create', array(
    'a'=>$a,
    'b'=>$b,
));

}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.