В таком варианте очень неудобно использовать permission для разграничения прав, так как permission можно привязать только к группе пользователя, но не к самому пользователю.
$authManager = Yii::$app->authManager;
$userID = 1;
$permission = $authManager->getPermission('language_ru');
$authManager->assign($permission, $userID);
class Customer extends ActiveRecord
{
public function getOrders()
{
return $this->hasMany(Order::className(), ['customer_id' => 'id']);
}
}
class Order extends ActiveRecord
{
public function getCustomer()
{
return $this->hasOne(Customer::className(), ['id' => 'customer_id']);
}
}
$customers = Customer::find()
->with('orders')
->all();
[[yii\filters\AccessRule::roles|roles]]: задаёт роли пользователей, соответствующих этому правилу. Распознаются две специальные роли, которые проверяются с помощью [[yii\web\User::isGuest]]:
?: соответствует гостевому пользователю (не аутентифицирован),
@: соответствует аутентифицированному пользователю.
Использование других имён ролей будет приводить к вызову метода [[yii\web\User::can()]], который требует включения RBAC (будет описано дальше). Если свойство пустое или не задано, то правило применяется ко всем ролям.
<img src="//site.ru/img.png">
<img src="https://site.ru/img.png">
<img src="http://site.ru/img.png">
Html::a('Link',
['controller/action'],
[
'data' => [
'method' => 'post',
'params' => '{"id":'.$model->id.'}'
],
]);
Html::a('Link',
['controller/action' . $model->id],
);
Html::a('Link',
Url::toRoute(['product/view', 'id' => 42, 'name' => 'name', 'id_s' => 2]));