public function getFriendsList(){
return $this->hasMany(UserRelation::className(),['user_id'=>'id'])->where(['or', ['user_id' => $this->id],['invite_id'=>$this->id]);
}
public function getFriendsList(){
return UserRelation::find()->where(['or', ['user_id' => $this->id],['invite_id'=>$this->id]);
}
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";
вы должны быть уверены, что первые три поля таблицы $usertable должны быть name, email и preference, остальные должны иметь значения по умолчанию. Это во-первых. Во-вторых - плохая практика писать запросы со вставкой переменных прямо в строку запроса (почитайте про SQL-инъекции). В третьих, по всей видимости - вместо $email = md5($params['password'])
ожидается $password = md5($params['password'])
. В четвертых - как пароль может сохранится, если вы его не вставляете в базу вообще? WHERE x IN(.....)
жесть.$values = [1, 2, 3];
$in_query = implode(',', array_fill(0, count($values), '?'));
$query = $DB->prepare(sprintf("UPDATE `Ttopic` SET `main`= ?, `main_id`= ?, `type`='".$f['type']."' WHERE `id` IN (%s) LIMIT 10", $in_query));
if($query->execute(array_merge([$main, $theme], $values)) echo 'ok';