簡體   English   中英

Yii2 在 `$this->modelClass::find()->andWhere(['post_id' => \\Yii::$app->request->get('postId')])` 上出現語法錯誤,這是一個有效條款

[英]Yii2 Getting a Syntax error on ` $this->modelClass::find()->andWhere(['post_id' => \Yii::$app->request->get('postId')])` which is a valid clause

我收到此錯誤:“語法錯誤,意外的'::'(T_PAAMAYIM_NEKUDOTAYIM),期望']'”在一個有效的子句上。

<?php namespace app\controllers;

use app\models\Comment;
use yii\data\ActiveDataProvider;
use yii\rest\ActiveController;

class CommentController extends ActiveController{

    public $modelClass = Comment::class;

    public function actions()
    {
        $actions = parent::actions(); //Auto generated STUD
        $actions['index']['prepareDataProvider'] = [$this,'prepareDataProvider']; // Replace for custom

        return $actions;
    
    }    

    public function prepareDataProvider()
    {
        return new ActiveDataProvider([
            "query" => $this->modelClass::find()->andWhere(['post_id' => \Yii::$app->request->get('postId')])
        ]);
    }

}

如果我將“$this->modelClass”替換為“Comment”或任何模型名稱,它就可以正常工作。 知道為什么會發生這種情況嗎?

為此,我們使用 PHP 5.6.36 只是因為主應用程序是用它實現的。

設置一個變量並使用它。

    public function prepareDataProvider()
    {
        $class = $this->modelClass;
        return new ActiveDataProvider([
            "query" => $class::find()->andWhere(['post_id' => \Yii::$app->request->get('postId')])
        ]);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM