public function actionAddProposal() { $market_id = Yii::$app->request->post('market_id'); $price = Yii::$app->request->post('price'); if (Yii::$app->getRequest()->isAjax && $market_id && $price) { $propose = new MarketsProposes(); $propose->user_id = !Yii::$app->user->isGuest ? Yii::$app->user->id : null; $propose->markets_id = $market_id; $propose->currency_id = 1; $propose->xrl_price = $price; $propose->price = $price; $propose->save(); $market = Markets::findOne($market_id); //TODO сделать проверку, откуда пришло объявление $msg = new \frontend\components\AutoPoster999(); $msg->postMessage('', "Привет, куплю {$market->title} за {$price}"); } }
/** * Get markets without filters * @param type $limit * @return type */ public static function getAll($limit = 25) { $sql = "SELECT m.id, m.title, m.xrl_price, m.current_date, mi.thumb_src," . " COUNT(mp.id) AS proposes_count " . " FROM " . self::tableName() . " m " . " JOIN " . MarketsImages::tableName() . " mi " . " ON m.id = mi.markets_id " . " LEFT JOIN " . MarketsProposes::tableName() . " mp " . " ON m.id = mp.markets_id " . " GROUP BY m.id " . " ORDER BY m.id DESC " . " LIMIT :limit "; return static::findBySql($sql, [':limit' => $limit])->asArray()->all(); }