Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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
如何在yii2中使用布局文件main.php中的“查找所有条件”_Php_Yii2 - Fatal编程技术网

如何在yii2中使用布局文件main.php中的“查找所有条件”

如何在yii2中使用布局文件main.php中的“查找所有条件”,php,yii2,Php,Yii2,我是yii 2.0新手,我想在布局文件中显示所有项目名称 我可以在layouts->main.php中使用以下代码 <?php $model = Project_manage::find()->all(); ?> 在我的引导文件中,放置了以下代码 Yii::setAlias('common', dirname(__DIR__)); Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/f

我是yii 2.0新手,我想在布局文件中显示所有项目名称

我可以在layouts->main.php中使用以下代码

                <?php $model = Project_manage::find()->all(); ?>
在我的引导文件中,放置了以下代码

Yii::setAlias('common', dirname(__DIR__));
Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('console', dirname(dirname(__DIR__)) . '/console');

Event::on(View::className(), View::EVENT_BEFORE_RENDER, function() {
$model = Project_manage::find()->all();
Yii::$app->view->params['model'] = $model;
});
 Fatal error: Class 'Event' not found in   D:\wamp\www\yii2\common\config\bootstrap.php on line 7
放置上述代码时,将显示以下错误

Yii::setAlias('common', dirname(__DIR__));
Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('console', dirname(dirname(__DIR__)) . '/console');

Event::on(View::className(), View::EVENT_BEFORE_RENDER, function() {
$model = Project_manage::find()->all();
Yii::$app->view->params['model'] = $model;
});
 Fatal error: Class 'Event' not found in   D:\wamp\www\yii2\common\config\bootstrap.php on line 7
在yii 2.0中,如何使用“在布局文件中查找所有条件”

请帮我解决这个问题


谢谢。

您可以在呈现之前使用事件:将其放入您的common\config\bootstrap.php中

    use yii\base\Event;
    use yii\base\View;

    Event::on(View::className(), View::EVENT_BEFORE_RENDER, function() {

        $model = Project_manage::find()->all();
        Yii::$app->view->params['model'] = $model;

    });
然后在主布局中,您可以将模型用作:

$model= $this->params['model'];

您是否在日志文件中查看了内部服务器错误的原因?这可能是1000种不同的东西。你有没有试着把这句话评论出来,看看它是否管用?请添加更多信息。您所指的
ActiveQuery
-功能应该只在布局文件中工作,就像在其他任何地方一样。在注释$model行之后,它工作正常。但是启用代码,它会再次显示错误:检查日志!我在这里看不到任何名称空间,因此要么在文件顶部有一个
use
-语句,要么根本找不到
Project\u manage
-类。当我使用上述代码时,我得到了以下错误解析错误:语法错误、意外的“函数”(t_函数)、预期标识符(t_字符串)在D:\wamp\www\yii2\frontend\config\bootstrap.php的第2行中,我的代码位于common\config\bootstrap.php中。请更新您的问题并显示您在引导文件中输入了什么。在我的回答中,我没有写一个我在你的评论中看到的函数。先生,现在我更新了我的代码。请再次检查我的代码。你没有包含名称空间。我已经更新了答案,查看前两行,并将其包含在引导文件的顶部,然后选中我们。