在 seeInDatabase 中使用逻辑或

Using logical or in seeInDatabase

如何在 Codeception 的 seeInDatabase 方法中实现逻辑 'or' 运算符?

例如:方法语法是

seeInDatabase('table', array('column1' => 'value1', 'column2' => 'value2')); 

生成此查询

SELECT COUNT(*) FROM `table`
WHERE `column1` = 'value1'
    AND `column2` = 'value2'

如何生成以下查询?

SELECT COUNT(*) FROM `table`
WHERE `column1` = 'value1'
    AND (
            `column2` = 'value2'
            OR `column2` = 'value3'
        )

你可以试试这个-

$this->seeInDatabase('table', function($query)
{
    $query->where('column1', 'value1')->where('column2', 'value2')->orWhere('column2','value3');
});

或者您可以将此拆分为一些简单的步骤。 首先获取记录-

$model = Model::where('column1', 'value1')->where('column2','value2')->orWhere('column2','value3')->first();

然后测试-

$this->assertNotNull($model);

为了更好的理解,你可以see这个。