标签: yii2-advanced-app

在Yii2中执行原始SQL查询?

我将PHP网站迁移到Yii2框架时编写了以下查询.我想将它们添加到我的控制器中,以显示赢得的前10个投注.我尝试过很多Yii2数据库类,但我无法让它工作.

我的表是:

用户:

id | user_name | user_status | ...other columns...
Run Code Online (Sandbox Code Playgroud)

投注:

id | user_id | date_time |...other columns...| balance_return
Run Code Online (Sandbox Code Playgroud)

我希望在Yii2中获得的查询是:

$query_all = $dbh->query("
    SELECT SUM(bets.balance_return) AS total_win
         , bets.user_id
         , users.user_name
         , users.user_status
      FROM bets INNER JOIN users ON bets.user_id = users.id
     WHERE users.user_status = 'verified'
       AND bets.date_time > " . $start_date . "
  GROUP BY bets.user_id
  ORDER BY total_win DESC
");
Run Code Online (Sandbox Code Playgroud)

变量start_date是我计算的6个月的时间段.time()另请注意,balance_return用户获得的每次获胜都是如此,其总和决定了排名.

第二个查询是:

$qwi = $dbh->query("
    SELECT SUM(bets.balance_return) AS total_win
         , bets.user_id
         , users.user_name …
Run Code Online (Sandbox Code Playgroud)

php mysql yii2 yii2-advanced-app

32
推荐指数
1
解决办法
7万
查看次数

Yii2:如何在yii2中添加textarea

什么是yii2中textarea的映射?如何用yii2格式写这个?

<textarea  name="downloadSourceCode" id="downloadSourceCode"></textarea>
Run Code Online (Sandbox Code Playgroud)

什么是在yii2中定义textarea的替代方法或方法?

yii2 yii2-advanced-app yii2-basic-app

28
推荐指数
2
解决办法
5万
查看次数

Yii2 cors过滤错误,表示没有'Access-Control-Allow-Origin'标头

以下这个问题我将我的休息控制器行为设置为

public function behaviors()
{
    $behaviors = parent::behaviors();

    $auth= $behaviors['authenticator'] = [
        'class' => HttpBearerAuth::className(),
        'only' => ['dashboard'],
    ];
    $behaviors['contentNegotiator'] = [
        'class' => ContentNegotiator::className(),
        'formats' => [
            'application/json' => Response::FORMAT_JSON,
        ],
    ];
    $acces=$behaviors['access'] = [
        'class' => AccessControl::className(),
        'only' => ['login'],
        'rules' => [
            [
                'actions' => ['login'],
                'allow' => true,
                'roles' => ['?'],
            ],
        ],
    ];

    unset($behaviors['authenticator']);
    unset($behaviors['access']);
Run Code Online (Sandbox Code Playgroud)

现在,cors过滤器

    // add CORS filter
    $behaviors['corsFilter'] = [
        'class' => \yii\filters\Cors::className(),
          'cors' => [
        // restrict access to …
Run Code Online (Sandbox Code Playgroud)

php yii2 yii2-advanced-app angular

16
推荐指数
1
解决办法
2万
查看次数

Yii2环境文件夹背后的想法是什么以及如何使用它?

我已多次阅读Yii2文档.我也谷歌搜索,我找不到任何有用的东西.

问题是我不了解环境文件夹的概念.请让我解释一下:

  1. 我可以在Git中使用分支(用于开发,分段和生产)
  2. *-local.conf文件被Git忽略,无论如何它们都不会被推送到升级或生产

为什么我必须复制环境/ devenvironment/prod中的所有控制器,视图和其他文件?

我实际上要在哪些文件夹中进行开发?

环境文件夹的部署过程是什么?我每次将更改推送到生产服务器后都应该调用init吗?

yii2 yii2-advanced-app

14
推荐指数
1
解决办法
5063
查看次数

在Yii2应用程序中设置全局语言值

我在哪里可以在全球范围内设置语言(基于用户的cookie)?如何使它在整个应用程序(控制器,视图等)中工作?

在我找到的文档中 \Yii::$app->language = '';,我可以编写逻辑以正确的方式更改语言?

php yii2 yii2-advanced-app

14
推荐指数
2
解决办法
3万
查看次数

yii2带有下拉列表的导航栏

在默认导航栏上进行了一些简单的编辑之后,我得到了下面菜单的代码......如果我添加更多菜单会非常难看.

<?php
            NavBar::begin([
                'brandLabel' => 'My Project',
                'brandUrl' => Yii::$app->homeUrl,
                'options' => [
                    'class' => 'navbar-inverse navbar-fixed-top',
                ],
            ]);
            $menuItems = [
                ['label' => 'Home', 'url' => ['/site/index']],
                ['label' => 'Contact', 'url' => ['/site/contact'],'visible'=>false],
            ];
            if (Yii::$app->user->isGuest) {
                $menuItems[] = ['label' => 'Signup', 'url' => ['/site/signup']];
                $menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
            } else {

                if(yii::$app->user->can('admin')){
                $menuItems[] = ['label' => 'Users', 'url' => ['/users']];
                }

                $menuItems[] = ['label' => 'BUB Sub Projects', 'url' => ['/bub']];
                $menuItems[] = ['label' …
Run Code Online (Sandbox Code Playgroud)

navbar yii2-advanced-app

14
推荐指数
1
解决办法
3万
查看次数

LIMIT在ActiveDataProvider中不起作用

嗨,大家好我正在使用以下代码,并limit没有工作,但如果我看到的命令比它显示limit在那,但当我将查询传递给ActiveDataProvider它获取所有记录

$data= User::find()->where(['category_id'=> 5])->orderBy(['rand()' => SORT_DESC])->limit(4);

    $command = $data->createCommand();

    $data2 = $command->queryAll();// This works fine and fetch only 4 data 

    $dataProvider = new ActiveDataProvider([
        'query' => $data,

    ]); // But this displays all data without limit
Run Code Online (Sandbox Code Playgroud)

我在这做什么错了???

yii2 yii2-advanced-app yii2-basic-app

14
推荐指数
2
解决办法
9276
查看次数

Yii2下拉选择值

我想在Yii2下拉列表中显示所选值,

$ _GET价值:

  $id = $_GET["cid"];
Run Code Online (Sandbox Code Playgroud)

下拉代码

  $form->field($model, 'userid')
    ->dropDownList(
          [User::getUser()],
          //[ArrayHelper::map(User::findAll(['active' => '1']), 'id', 'name')],
          ['prompt'=>'Select a user','id'=>'user_dropdown'],    
          ['options' =>
                    [                        
                      $id => ['selected' => true]
                    ]
          ]

        )->label('');           
Run Code Online (Sandbox Code Playgroud)

但这种方法不起作用!

yii2 yii2-advanced-app

13
推荐指数
3
解决办法
4万
查看次数

在Yii2中以JSON格式获取响应

我正在尝试将响应数组转换为JSON格式.我已经尝试了在SO和其他网站上发布的所有答案,如web1,web2添加header('Content-Type: application/json'),然后echo json_encode($data,JSON_PRETTY_PRINT); 我总是以文本格式获得输出.有人可以帮助我解决这个问题.

助手班级:

public static function renderJSON($data) {
    header('Content-Type: application/json');
    echo json_encode($data,JSON_PRETTY_PRINT);
}
Run Code Online (Sandbox Code Playgroud)

我的控制器:

if ($model->login()) {
    $user =  User::findByUsernameOrEmail($request->post('username'));
    $userArray = ArrayHelper::toArray($user);
    Helpers::renderJSON($userArray);
Run Code Online (Sandbox Code Playgroud)

我试着打印userArray它看起来像这样:

Array
(
    [name] => abc
    [lastname] => xyz
    [username] => test_test
)
Run Code Online (Sandbox Code Playgroud)

Json输出:(html/text)

{
    "name": "abc",
    "lastname": "xyz",
    "username": "test_test"
}
Run Code Online (Sandbox Code Playgroud)

php json yii2 yii2-advanced-app

13
推荐指数
3
解决办法
3万
查看次数

如何从Yii2中的模型中获取当前模块对象

我有模块ticket.

模块类有propery UserClassName(字符串).

在这个模块中,我有一个模型叫Dialog.

在这个模型中,我想要访问模块属性UserClassName.

我如何从我的模型中获取模块对象Dialog

PS从控制器我可以做下一步:$this->module.

php yii2 yii2-advanced-app

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

yii2-advanced-app ×10

yii2 ×9

php ×5

yii2-basic-app ×2

angular ×1

json ×1

mysql ×1

navbar ×1