Yii2 delete()没有主键

时间:2017-08-18 19:19:26

标签: php database yii2

我想用>=删除数据库中的数据,但该表没有主键

这是代码

=

然后,它显示错误

delete

帮助我找到没有主键的删除方式。

由于

3 个答案:

答案 0 :(得分:4)

您可以覆盖primaryKey()模型方法,因此错误应该消失。

app \ models \ Table 里面添加此方法(我认为主键应该由'name'和'Age'组成):

public static function primaryKey()
{
  return [
     'name',
     'Age',
  ];
}

答案 1 :(得分:1)

您可以使用带条件的删除命令:

,而不是使用ActiveRecord
 $myCommand =  Yii::$app->db->createCommand()
              ->delete('your_table', 'name =  "Andrew"  AND Age = 25  ');

 $myCommand->execute();

如果要删除与条件匹配的所有行,可以使用:

  deleteAll( ... ) ;

答案 2 :(得分:0)

试试这个:

$data=Table::find()->where(['name' => 'Andrew', 'Age' => '25'])->one();
$data->delete();