How can I implement a logic ‘or’ operator in Codeception’s seeInDatabase method?.
For example: the methods syntax is
seeInDatabase('table', array('column1' => 'value1', 'column2' => 'value2'));
Which generates this query
SELECT COUNT(*) FROM `table` WHERE `column1` = 'value1' AND `column2` = 'value2'
How can I generate the following query?
SELECT COUNT(*) FROM `table` WHERE `column1` = 'value1' AND ( `column2` = 'value2' OR `column2` = 'value3' )
Advertisement
Answer
you can try this-
$this->seeInDatabase('table', function($query) { $query->where('column1', 'value1')->where('column2', 'value2')->orWhere('column2','value3'); });
Or You can do this split into some simple steps. First get the records-
$model = Model::where('column1', 'value1')->where('column2','value2')->orWhere('column2','value3')->first();
then test-
$this->assertNotNull($model);
For better understanding, you can see this.