phalcon——model(模型)

Model:

表与表之间的关系:

hasOne                         一对一( $fields, $referenceModel, $referencedFields : 当前表中的字段, 对应关系模型, 对应关系模型中表的字字段 )

hasMany                       一对多 ( $fields, $referenceModel, $referencedFields : 当前表中的字段, 对应关系模型, 对应关系模型中表的字字段 )

hasManyToMany        多对多

belongsTo                    多对一( 属于 ) ( $fields, $referenceModel, $referencedFields : 当前表中的字段, 对应关系模型, 对应关系模型中表的字字段 )

*********** 如项目中存在命名空间 则 要在对应的关系中添加alias参数  array( ‘alias‘ => ‘namespace‘ )

[plain] view plaincopyprint?

  1. <span style="color:#FF0000;">$this->hasMany( ‘id‘,  ‘Mp\pri\models\RolesUsers‘ , ‘roleid‘, array( ‘alias‘ => ‘rolesusers‘ ));
  2. $this->hasMany( ‘id‘,  ‘Mp\pri\models\RolesMenus‘ , ‘roleid‘, array( ‘alias‘ => ‘rolesmenus‘ ));</span>

Phalcon中设置允许数据动态更新:( 初始化的时候 )

[plain] view plaincopyprint?

  1. $this->useDynamicUpdate( true );

Phalocn中设置软删除标记:( 初始化的时候 )

[plain] view plaincopyprint?

  1. use Phalcon\Mvc\Model\Behavior\SoftDelete;
  2. $this->addBehavior( new SoftDelete(
  3. array(
  4. ‘field‘ => ‘delsign‘,
  5. ‘value‘ => SystemEnums::DELSIGN_YES,
  6. )
  7. ) );
  8. $res = Roles::findFirst( $where )->delete();
  9. //当判断是否删除成功与否
  10. if( empty( $res ) )
  11. {//delete error
  12. }
  13. else
  14. {//delete success
  15. }

项目多模块并存在有命名:(跨模块取数据)

因类存在命名空间问题 如果保存成对象, 在取出数据的时候因存在命名空间限制 会取不到session中的数据 ------ 解决方法 将数据保存成数组存入session中

Phalcon 添加/更新数据:

[php] view plaincopyprint?

  1. $id = $this->request->getPost(‘id‘);
  2. if( isset( $id ) && FALSE != $id )
  3. {
  4. $where = array(
  5. ‘conditions‘     => ‘delsign=:del: and id=:optid:‘,
  6. ‘bind‘          => array( ‘del‘ => SystemEnums::DELSIGN_NO,‘optid‘ => $id ),
  7. );
  8. $cache = Cache::findFirst( $where );
  9. $cache->delsign = SystemEnums::DELSIGN_YES;
  10. $cache->modtime = TimeUtils::getFullTime();
  11. $cache->title = ‘Login‘;
  12. $cache->action = ‘loadding‘;
  13. $cache->seconds = 100;
  14. $cache->module_name = ‘appmgr‘;
  15. }
  16. else
  17. {//add
  18. $cache = new Cache();
  19. $cache->title       = ‘Roles‘;
  20. $cache->module_name = ‘pri‘;
  21. $cache->controller  = ‘Roles‘;
  22. $cache->action      = ‘list‘;
  23. $cache->seconds     = 20;
  24. $cache->comment     = ‘Add Test‘;
  25. $cache->createtime  = TimeUtils::getFullTime();
  26. $cache->modtime     = TimeUtils::getFullTime();
  27. $cache->delsign     = SystemEnums::DELSIGN_NO;
  28. }
  29. if (! $cache->save()) {
  30. foreach ($cache->getMessages() as $message) {
  31. echo "Message: ", $message->getMessage();
  32. echo "Field: ", $message->getField();
  33. echo "Type: ", $message->getType();
  34. }
  35. }
  36. else
  37. {
  38. echo ‘No Error‘;
  39. }
  40. exit;

采用PHQL方式更新数据:

[php] view plaincopyprint?

  1. $query = $this->modelsManager->createQuery( ‘update \Mp\sys\Models\Cache set title =:tit:,modtime=:time: where id = :id:‘ );
  2. $res = $query->execute(array(
  3. ‘tit‘ => $cache_name,
  4. ‘id‘    => $id,
  5. ‘time‘  => TimeUtils::getFullTime(),
  6. ));

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.jquery 方法操作iframe父元素:

[javascript] view plaincopyprint?

  1. <span style="font-size:14px;">$("#rolesCtl",parent.document).find( ‘button‘ ).trigger( ‘click‘ );</span>

2. jquery在父页面获取iframe子页面的元素:

[javascript] view plaincopyprint?

  1. <span style="font-size:14px;">$("#objid",document.frames(‘iframename‘).document)</span>

3.js在iframe子页面获取父页面元素代码如下:

[javascript] view plaincopyprint?

  1. <span style="font-size:14px;">window.parent.document.getElementByIdx_x("元素id");</span>

4.js在父页面获取iframe子页面元素:

[javascript] view plaincopyprint?

  1. <span style="font-size:14px;">window.frames["iframe_ID"].document.getElementByIdx_x("元素id");</span>

5.子类iframe内调用父类函数:

[javascript] view plaincopyprint?

    1. <span style="font-size:14px;">window.parent.func();</span>
时间: 2024-08-02 00:33:30

phalcon——model(模型)的相关文章

TP框架---Model模型层---做模型对象

TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. Model模型怎样使用呢??? 要使用Model模型层访问数据库的话,需要做配置,因为必须把数据库的一些参数配置好之后,才能连接,所以找到Config.php 配置文件,打开 这些是关于数据库的配置, 要把这些粘贴到config.php 进行修改. config.php配置文件(修

ecmall中static变量的使用-model模型代码设计

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 function &m($model_name, $params = array(), $is_new = false) {     <span style="backg

tp框架-----Model模型层

1.Model模型层是用来做什么的呢? 主要是用来做操作数据库访问的.也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. 2.Model模型怎样使用呢? 要使用Model模型层访问数据库的话,需要做配置,因为必须把数据库的一些参数配置好之后,才能连接,所以找到Config.php.    如何修改配置呢? 1)打开下图路径中的Convention.php文件 2)复制convention.php中的下图内容到Home/Conf/config.php中 3)修改配置,将自己的数据

MVC中Model BLL层Model模型互转

MVC中Model BLL层Model模型互转 一. 模型通常可以做2种:充血模型和失血模型,一般做法是模型就是模型,不具备方法来操作,只具有属性,这种叫做失血模型(可能不准确):具备对模型一定的简单操作方法,不只是有属性的模型叫做充血模型,如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MvcApplication1.Models { /// <

YII model模型和登陆详解

模型是 CModel 或其子类的实例.模型用于保持数据以及与其相关的业务逻辑. 模型是单独的数据对象.它可以是数据表中的一行,或者一个用户输入的表单. 数据对象的每个字段对应模型中的一个属性.每个属性有一个标签(label), 并且可以通过一系列规则进行验证. Yii 实现了两种类型的模型:表单模型和 Active Record.二者均继承于相同的基类 CModel. 表单模型是 CFormModel 的实例.表单模型用于保持从用户的输入获取的数据. 这些数据经常被获取,使用,然后丢弃.例如,在

论Model(模型层)的过度封装

曾经我架构的层次安排为 Entity(实体层),Repository(持久化层),DTO(搜索对象层) Model(模型层),Service(服务层) 拦截层 (Control)控制层 Model模型层的依赖关系:Entity,Service public class MArticleList { public List<Article> list { get; set; } public DArticle dto { get; set; } public MArticleList() { l

thinkphp数据库操作Model模型

Model是对数据库的操作 之前两章已经说了MVC中的V(view)和C(controller),这一章主要讲M(model). 一.连接数据库 首先要创造一个操作数据库 之后打开shop查看原始配置 之后我们去配置自己的数据库 这样,数据库就配置好了. 二.创建model类 原则上来讲,一个model对应一个数据表,有一个数据表就要对应一个model 控制器如何创建,model就如何创建 注意: Model要和Admin以及Home平行存放,使得既能让Home使用,又能让Admin使用 创建一

Model模型(上)

一.什么是Model模型?   Model (模型) 简而言之即数据模型.模型不是数据本身(比如数据库里的数据),而是抽象的描述数据的构成和逻辑关系.每个Django model实际上是个类,继承了models.Model.每个Model应该包括属性,关系(比如单对单,单对多和多对多)和方法.当你定义好Model模型后,Django的接口会自动帮你在数据库生成相应的数据表(table). 二.Django Model中字段(Field)的可选项和必选项(字段与选项,必选项为加粗) 1.CharF

Django基础核心技术之Model模型的介绍与设计

Django基础核心技术之Model模型的介绍与设计原创: Yunbo Shi Python Web与Django开发 2018-05-03Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL的配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用.今天小编我就拼了老命来用千字长文给你来介绍下第一项Django核心基础知识之Model的设计吧.想持续了解后续Django Web开发技术请订阅我的公众号[Python与Django大咖之路].