Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以创建基于ID预加载对象的urlManager规则?_Php_Yii2 - Fatal编程技术网

Php 是否可以创建基于ID预加载对象的urlManager规则?

Php 是否可以创建基于ID预加载对象的urlManager规则?,php,yii2,Php,Yii2,使用Yii 2.0.4,我尝试使用urlManager规则根据URL中的给定ID预加载对象 config/web.php 注意:上述代码段不起作用。这就是我想要的东西 可能吗?有什么办法可以做到这一点吗?如果你仔细看看:实际上什么都没有改变。您仍然调用Client::findOne($id)但是现在在一个意想不到的不合适的地方做这件事,如果你看下面的例子,它会说: 数组此规则提供的默认GET参数(name=>value)。 当使用此规则分析传入请求时,此属性中声明的值将被注入$\u GET 如果

使用Yii 2.0.4,我尝试使用urlManager规则根据URL中的给定ID预加载对象

config/web.php

注意:上述代码段不起作用。这就是我想要的东西


可能吗?有什么办法可以做到这一点吗?

如果你仔细看看:实际上什么都没有改变。您仍然调用
Client::findOne($id)
但是现在在一个意想不到的不合适的地方做这件事,如果你看下面的例子,它会说:

数组此规则提供的默认GET参数(name=>value)。 当使用此规则分析传入请求时,此属性中声明的值将被注入$\u GET

如果要为规则指定某些
$\u GET
参数,则需要使用默认参数。例如

[
    'pattern' => '/',
    'route' => 'article/view',
    'defaults' => ['id' => 1],
]
在这里,当您打开网站主页时,我们将id=1的文章指定为默认文章,例如,将作为

我可以建议您将属性
clientModel
添加到控制器中,然后在
beforeAction()
方法中检查其更新或查看操作是否已设置

$this->clientModel=Client::findOne($id)

在你的行动中:


返回$this->render('view',['client'=>$this->clientModel])

如果你仔细看:实际上什么都没有改变。您仍然调用
Client::findOne($id)
但是现在在一个意想不到的不合适的地方做这件事,如果你看下面的例子,它会说:

数组此规则提供的默认GET参数(name=>value)。 当使用此规则分析传入请求时,此属性中声明的值将被注入$\u GET

如果要为规则指定某些
$\u GET
参数,则需要使用默认参数。例如

[
    'pattern' => '/',
    'route' => 'article/view',
    'defaults' => ['id' => 1],
]
在这里,当您打开网站主页时,我们将id=1的文章指定为默认文章,例如,将作为

我可以建议您将属性
clientModel
添加到控制器中,然后在
beforeAction()
方法中检查其更新或查看操作是否已设置

$this->clientModel=Client::findOne($id)

在你的行动中:


返回$this->render('view',['client'=>$this->clientModel])

我不这么认为。查看
默认值
无法从规则中访问匹配的参数我不这么认为。查看
默认值
无法从ruleThank访问匹配的参数。在发布问题之前,我阅读了“默认”参数文档,但我试图解释我想要实现的目标。尽管如此,我还是非常感谢您对
预处理()的建议。我会试试,然后把解决方案贴在这里。谢谢。在发布问题之前,我阅读了“默认”参数文档,但我试图解释我想要实现的目标。尽管如此,我还是非常感谢您对
预处理()的建议。我试试看,然后把解决方案贴在这里。
[
    'pattern' => '/',
    'route' => 'article/view',
    'defaults' => ['id' => 1],
]