class PMSearch extends PM
{
public $userName;
public function rules()
{
return [
...
['userName', 'safe'],
...
];
}
public function search($params)
{
$query = PM::find();
$query->joinWith(['destinationUser']); // это не обязательно, но уменьшит количество запросов к БД
...
if ($user = User::findOne(['username' => $this->userName])) {
$this->user_id = $user->id;
}
$query->andFilterWhere([
...
}