标签: yii

子查询ActiveRecord Yii

是否可以在Yii中的ActiveRecord中进行子查询?

我有这样的查询:

select * from table1 where table1.field1 in (select table2.field2 from table2)

我目前正在使用以下代码:

object1::model()->findAll(array('condition'=>'t.field1 in (select table2.field2 from table2)'))

[编辑]
我想知道是否有一种方法来构造子查询而不使用SQL,并且不使用连接.

有什么解决方案吗?

并提前感谢.

php subquery yii yii-cactiverecord

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

Yii - 如何从Active Record中获取值数组

使用Yii,我如何从Active Record中获取数组.

说这样的话:

array('foo', 'bar', 'lala')

从这样的事情:

MyTable::model()->findall()
Run Code Online (Sandbox Code Playgroud)

arrays activerecord yii

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

Yii不是自动包括jquery

我和Yii&Jquery有一个奇怪的问题:

当我打开一个在localhost上使用ajax/jquery的页面时,Yii会自动添加资产包含对页面的调用:

<link rel="stylesheet" type="text/css" href="/PATH/assets/f72b359d/style.css" />
<script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.js"></script>
<script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.cookie.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是,当我在服务器上运行相同的代码时,Yii没有这样做,没有Jquery可用.

如果有人能指导解决问题,我会很感激.

php jquery yii

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

来自DataProvider的Yii分页变量

我需要在控制器操作中使用某些分页变量.

如:

1.当前页码

2.当前页面偏移量

3.显示总记录

即显示2005年的31至40条记录

我尝试了以下方法:

$dataProvider = NodesTerms::getNodesDataFromTerms($nodeId) ;     
  $pagination = $dataProvider->getPagination();
  var_dump($pagination->getPageCount());
  //var_dump($pagination->currentPage);
Run Code Online (Sandbox Code Playgroud)

我可以得到分页对象,但零(0)$pagination->currentPage$pagination->offset等等....

我需要这些信息来动态生成元页面titledescription页面列表的操作,例如pagetitle:第3页,共10页,用于American Recipes ...

感谢任何帮助.

yii

8
推荐指数
1
解决办法
8096
查看次数

Yii注册CSS文件,成为最后一个(资产之后)

是否有一种方法在Yii中注册js或css文件,以便在资产管理器加载后加载它们.

我使用css文件来覆盖某些Yii扩展的样式,但是Yii在扩展名生成的资产之前包含了我的文件.

我知道我可以更改扩展名以从资产管理器中删除css文件并手动添加它们,registerCssFile但这不是我想要这样做的方式.

这就是我所拥有的:

<head>
...
    <link rel="stylesheet" type="text/css" href="/css/MY_CSS.css" />
...
    <link rel="stylesheet" type="text/css" href="/assets/8e838803/css/EXTENSION_CSS.css" />
...
</head>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

<head>
...
    <link rel="stylesheet" type="text/css" href="/assets/8e838803/css/EXTENSION_CSS.css" />
...
    <link rel="stylesheet" type="text/css" href="/css/MY_CSS.css" /> <!-- the last one -->
</head>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

css php registration yii

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

获取YII中的所有"页面"?

我正在尝试创建自己的xml站点地图.一切都已完成,除了我认为最容易的部分.如何获得网站上所有页面的列表?我在/ site文件夹和其他一些文件夹中有很多视图.有没有办法明确请求他们的URL或可能通过控制器?

我不想使用扩展名

php sitemap yii

8
推荐指数
1
解决办法
1583
查看次数

Yii - 使用Ajax验证

我正在尝试在表单中启用ajax验证,我已经在表单中添加了正确的参数,但它不起作用,这是我的代码:

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'user-form',
    'enableAjaxValidation'=>true,
    'htmlOptions' => array(
            'enctype' => 'multipart/form-data',
            'enableClientValidation'=>true
    ),
)); ?>
Run Code Online (Sandbox Code Playgroud)

请指教.

ajax yii

8
推荐指数
1
解决办法
7277
查看次数

yii2:勾选复选框

我正在使用Yii2框架,我想生成这样的HTML代码

<input type="checkbox" id="queue-order" name="Queue[order]" value="1" checked>
Run Code Online (Sandbox Code Playgroud)

在使用ActiveForm的视图中.

我试过了

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'checked' => true]); 
Run Code Online (Sandbox Code Playgroud)

以及

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'checked' => 'checked']); 
Run Code Online (Sandbox Code Playgroud)

但是生成的html代码中没有出现所需的字符串"checked".

奇怪的是,如果我用"选中"代替"选中"

echo $form->field($model, 'order')
          ->checkBox(['label' => ..., 'uncheck' => null, 'selected' => true]); 
Run Code Online (Sandbox Code Playgroud)

然后生成的html代码包含属性"selected":

<input type="checkbox" id="queue-order" name="Queue[order]" value="1" selected>
Run Code Online (Sandbox Code Playgroud)

那么,如何为具有"已检查"属性的复选框生成html代码?

html php yii active-form

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

如何使用DAO检测Yii中事务中的最后一个插入ID?

这是源代码,我需要检测ID(请参阅下面两个查询之间的标记位置).

$connection = Yii::app()->db;
$transaction=$connection->beginTransaction();
try {

    $q = "INSERT INTO `someTable1` .... ";      
    $connection->createCommand($q)->execute(); // Single Row Inserted

    // HERE!! How to get the last insert ID from query above

    $q = "INSERT INTO `someTable2` ....
          WHERE id = LAST_INSERT_ID_FROM_FIRST_QUERY ";
    $connection->createCommand($q)->execute();

    $transaction->commit();

} catch (Exception $e) {
    // react on exception   
    $trans->rollback();
} 
Run Code Online (Sandbox Code Playgroud)

最合适的方法是什么?

php dao transactions lastinsertid yii

8
推荐指数
1
解决办法
7276
查看次数

如何将Yii 1.x升级到Yii 2.0

如何将Yii 1.x版本升级到Yii 2.0最新版本?我正在使用ubuntu OS,Process将我的旧Yii更新为新的Yii发行版2.0?

yii yii-extensions yii2 yii2-advanced-app yii2-basic-app

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