self::deleteAll(['and',['id'=> $list,'collection_id'=>$collection_id]]);
and
- это лишнее. Можно просто:self::deleteAll(['id' => $list, 'collection_id' => $collection_id]);
self::find()->where(['id' => $list, 'collection_id' => $collection_id])->count();
$_POST
данные можно получить из того скрипта, на который они отправлены.<form action="index.php" method="POST">
<!-- -->
</form>
index.php
вы получите эти данные из формы, а если: <form action="admin/index.php" method="POST">
<!-- -->
</form>
admin/index.php
~(https?:\/\/)?([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}[^\/\s]+~gi
Сортировка просто по количеству товаров не подходит, так как кроме этой сортировки есть еще 2 (по цене и по еще одному полю).
$products = Product::find()->where([/**/])->orderBy(['count' => SORT_DESC, 'price' => SORT_DESC, 'eshe_odno_pole' => SORT_DESC])->all();