我对CActiveRecord.rules有疑问
public function rules(){
return array(
array('photo_path', 'required', 'on'=>'insert'),
array('photo_path', 'file', 'types'=>'jpg, gif, png', 'allowEmpty'=>true),
);
}
只有在创建模型时才需要Photo_path,在更新视图中它可以为空.
我不知道发生了什么,但一小时前它有效,但现在却没有.当我选择文件时,我得到'照片路径不能为空'
请帮忙 :)
我是PHP的新手,我想知道 - >和=>之间有什么区别?
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array('class'=>'btn btn-primary')); ?>
Run Code Online (Sandbox Code Playgroud) 考虑以下,
$date = new DateTime(null, new DateTimeZone('Asia/Kolkata'));
$sysdate = date_format($date, 'H:i:s');
echo $sysdate;
Result: 17:31:48
Run Code Online (Sandbox Code Playgroud)
让我知道如何从sysdate减去5分钟.
我想在没有停机的情况下升级我的网站.我做了研究,并没有找到一种方法来升级它没有停机时间(几秒钟就好了).我想的方法如下,但我不确定是否有任何良好的专业方式.请帮我解决一下如何改进这个问题.
如果有的话,请告诉我任何其他好的方法.
我在本地服务器上使用SVN
我想查找用户表中除一个用户类型以外的所有记录.即我有一个用户表dec_user,其中有一个属性user_type.我想找到除了以外的所有记录user_type 9.然后我会计算行数.所以,我写道:
$user_type = 9;
return count(User::model()->findAll(array("condition"=>"':user_type' != $user_type")));
Run Code Online (Sandbox Code Playgroud)
实际上,我不明白如何写这个条件.
我在一组25,000个结果中运行下面的代码.我需要优化它,因为我达到了内存限制.
$oldproducts = Oldproduct::model()->findAll(); /*(here i have 25,000 results)*/
foreach($oldproducts as $oldproduct) :
$criteria = new CDbCriteria;
$criteria->compare('`someid`', $oldproduct->someid);
$finds = Newproduct::model()->findAll($criteria);
if (empty($finds)) {
$new = new Newproduct;
$new->someid = $oldproduct->someid;
$new->save();
} else {
foreach($finds as $find) :
if ($find->price != $oldproduct->price) {
$find->attributes=array('price' => $oldproduct->price);
$find->save();
}
endforeach;
}
endforeach;
Run Code Online (Sandbox Code Playgroud)
代码通过someid比较两个表的行.如果发现巧合则更新价格列,如果没有创建新记录.
关于在PHP的Yii框架中保存模型,我有几个快速的概念性问题.我已经遇到过几次这个代码$ model-> save()(例如if($ model-> save())....
但我从来没有完全理解它的含义.
另外,我在MVC提示/手册中读到我们应该尝试将模型保存在模型中而不是控制器中 - 有人可以解释为什么会这样吗?我有一个朋友告诉我这没关系 - 但是,我想了解背后的规则.
谢谢你的帮助!
我是Yii的新手,我正在尝试插入一些示例数据.
在我的/model/Store.php文件中,我有以下代码:
class Store extends CActiveRecord {
public function rules()
{
return array(
array('name, status', 'required'),
(...)
public function attributeLabels()
{
return array(
'name' => 'Name',
(...)
public function insertSampleData(){
$dataArray = [
"name" => "Test store ", "fk_adr" => "4117",
"name" => "Test store ", "fk_adr" => "4126",
"name" => "Test store ", "fk_adr" => "4140",
"name" => "Test store ", "fk_adr" => "4150",
"name" => "Test store ", "fk_adr" => "4167",
];
$num = Yii::app()->db->getLastInsertID();
foreach($dataArray as $data …Run Code Online (Sandbox Code Playgroud) public function actionUpdateprofile(){
$user = User::model()->findByPk($_POST['User']['user_id']);
$profile = Profile::model()->findByPk($_POST['User']['user_id']);
if(isset($_POST['User']) || isset($_POST['Profile'])){
$user->attributes = $_POST['User'];
$profile->attributes = $_POST['Profile'];
$user->save();
$profile->save();
}
}
Run Code Online (Sandbox Code Playgroud)
我做了这个代码来更新配置文件和用户表中的值.但它不起作用.如果我发送$_POST['Profile']['email'] = 'abc@gmail.com';
没有错误但数据库仍显示旧值.为什么?
我在那里做错了什么?
这是结果$profile->attributes.电子邮件仍然具有旧价值.
Array
(
[user_id] => 35
[lastname] => asd
[firstname] => asrtyr
[email] => xyz.gmail.com
[phoneno] => 123456
[prof_img] =>
[phoneno2] => 0
[agentKey] =>
[fb_id] =>
)
Run Code Online (Sandbox Code Playgroud) 我在UserController.php中使用以下代码来注册新用户
$model=new Users;
if(isset($_POST['Users'])) {
$model->attributes = $_POST['Users'];
if ($model->register()) {
$model->setIsNewRecord(true);
if ($model->save()) {
Yii::app()->user->setFlash('info','User registered successfully!!! Please login to Continue.');
} else {
Yii::app()->user->setFlash('info','Sorry, an unexpected error has occurred!');
}
}
}
$this->render('register',array('model'=>$model));
Run Code Online (Sandbox Code Playgroud)
注册成功后,注册表格将保留输入的值.我该如何清除这张表格?
以下是视图文件中的表单代码 - Register.php
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'register-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
-----other textfields in div similar to the …Run Code Online (Sandbox Code Playgroud) php ×10
yii ×10
cassandra ×1
deployment ×1
foreach ×1
forms ×1
memory ×1
mysql ×1
optimization ×1