我在我的模型中使用了url验证代码,但它给了我错误.我只是验证用户是否只使用google.com或yahoo.com而不是http,需要www.我怎么能做到这一点.
[['thankyou_page_url','confirmation_page_url'],'url'],
Run Code Online (Sandbox Code Playgroud) 我想在3组中的Active Record查询之后划分(使用括号).第一组将从第一个"Where"子句到最后一个"orWhere".第二和第三将使用"andWhere".
请给我一些关于如何使用括号分隔所有3个部分的建议.
$query = Book::find()
->where('book_name LIKE :book_name', array(':book_name' =>
'%'.$book_name.'%'))
->orWhere('book_category LIKE :book_category', array(':book_category' =>'%'.$category.'%'))
->orWhere('finance_subcategory LIKE :finance', array(':finance' => '%'.$category.'%'))
->orWhere('insurance_subcategory LIKE :insurance', array(':insurance' => '%'.$category.'%'))
->andWhere('address LIKE :address', array(':address' => '%'.$address.'%'))
->andWhere('status =:status', array(':status' => 'Enabled'))
->orderBy('book_id');
Run Code Online (Sandbox Code Playgroud) 我正在建立一个名为"市场"的"子域名"网站.所以网址将是marketplace.sample.com.我正在使用Yii2高级应用程序,我将以下代码添加到位于前端/ web的index.php中.
defined('MARKETPLACE') or define('MARKETPLACE', preg_match('/^marketplace/', $_SERVER['HTTP_HOST']) === 1 ? true : false);
Run Code Online (Sandbox Code Playgroud)
这适用于我的环境,但是,我刚刚意识到index.php文件位于Yii2中的.gitignore文件中,因为该文件是由init脚本创建的,因此对它的更改将通过运行init来覆盖.
无论如何,问题是:我在哪里放置这些代码,以便它可以与开发团队的其他人一起提交和共享,并在推送代码时将其投入生产?
我试图把这个代码放在common/config/params.php中但是当我尝试访问变量来确定使用哪个路由时我不能,因为Yii应用程序在前端/ config/main时没有被初始化. php文件运行,我收到一个错误,我试图访问非对象的属性.
/frontend/config/main.php
'defaultRoute' => MARKETPLACE ? 'marketplace' : 'site',
Run Code Online (Sandbox Code Playgroud)
/frontend/config/main.php(改为使用param)
'defaultRoute' => Yii::$app->params['marketplace'] ? 'marketplace' : 'site'
Run Code Online (Sandbox Code Playgroud)
第二个给出了我试图访问非对象属性的错误.
据我们所知,
<?= $form->field($model, 'name_field')->textInput() ?>
Run Code Online (Sandbox Code Playgroud)
在模型/表中添加连接到“name_field”的文本字段。
我想在模型/表中添加一个字段,然后在失去焦点时运行一些 JS 来计算其他字段。
您如何首先添加未连接到模型的自由文本字段?其次,有没有人有将 JS/Jquery 添加到 _form.php 的例子?
我将此功能用于注销链接,而不是在菜单上使用它。
我使用的这段代码:
<?= Html::a('Logout', ['site/logout'], ['data-method' => 'post']) ?>
Run Code Online (Sandbox Code Playgroud)
显示-
不允许的方法。该网址只能处理以下请求方法:POST。
我该如何解决这个问题?
如果视图文件不存在,我会尝试在Yii2中执行类似标准行为的操作.例如,如果视图'xyz'不存在然后重定向到另一个控制器操作,或者如果我只渲染标准视图(如特殊404页面)会更容易吗?
我对 mysql 的了解非常基础,现在我面临一个“复杂”(对我来说)的查询,我被困在其中,所以如果有人能给我一些启示,请提前感谢您。
我有三张表:
订单
id | name | comments | ...
Run Code Online (Sandbox Code Playgroud)
订单行
id | name | sDate | eDate | comments | ...
Run Code Online (Sandbox Code Playgroud)
订单行统计信息
id | lineID | date | status | ...
Run Code Online (Sandbox Code Playgroud)
每天 OrderLinesStats 都会通过 cron 作业更新,并获取包含实际日期、状态和其他字段的新记录,因此最高 id 是实际数据。
我试图在 yii2 中获取最后一个 stats 行,如下所示:
在 OrdersLines 模型中:
public function getLastOrdersLinesStats()
{
return $this->hasMany(OrdersLinesStats::className(), ['lineID' => 'id'])
->orderBy(['id'=>SORT_DESC])
->groupBy('lineID');
}
Run Code Online (Sandbox Code Playgroud)
订单型号:
public function getOrdersLines()
{
return $this
->hasMany(OrdersLines::className(), ['orderID' => 'id'])
->orderBy(['typeID' => SORT_ASC, 'name' => SORT_ASC])
->with(['lastOrdersLinesStats']);
} …Run Code Online (Sandbox Code Playgroud) 我只是买了一台更强大的电脑,安装了 Composer 并想继续我的项目,但是当我使用 gii 时,它给了我这个错误。我该如何解决?为什么我得到它?谢谢你。
我想用 nginx 运行项目 yii2(高级模板)。我将 virtualbox 与 vagrant 一起使用(ubuntu 16.04,php 5.6)
我有以下设置nginx文件
//
vhost1.conf
server {
listen *:80;
server_name frontend.test;
client_max_body_size 128m;
root /var/www/frontend/web/;
index index.php;
access_log /var/log/nginx/vhost1.access.log;
error_log /var/log/nginx/vhost1.error.log;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
Run Code Online (Sandbox Code Playgroud)
我有以下结构项目的许可:
vagrant@machine1]-[/var/www]-[git master]
$ ls -la frontend/
total 68
drwxrwxr-x 1 …Run Code Online (Sandbox Code Playgroud) 我正在编写一个拦截器来验证从 POST 收到的请求和解码数据。解码数据后,我必须设置数据,$_POST以便我以前的所有编写器功能都能正常工作。
我已经设置了如下值
$_POST['amount'] = $data['a'];
$_POST['currency'] = $data['c'];
Run Code Online (Sandbox Code Playgroud)
我能够使用这些变量,$_POST但无法访问这些值Yii::$app->request->post()
所以我的问题是我可以通过 Yii::$app->request->post()