cakephp 컨트롤러의 Paginate는 헬퍼에 있는 Paginator를 사용하면 쉽게 페이지 매김 목록과 정렬된 목록 페이지를 만들 수 있습니다.
그런데 cakephp 사용법을 배우기 시작하면서 궁금한 점이 생겼습니다.
모델 바인딩을 해제하는 방법
일반적인 상황에서는 찾기 전에 필요하지 않은 모델을 바인딩 해제하는 한 이러한 모델 연결을 검색할 필요가 없습니다. 그리고 이를 찾은 후 이전에 출시한 모델을 자동으로 연결합니다. 다음은 일반적으로 사용되는 방법입니다
//user model
class User extends AppModel {
var $name = 'User';
var $belongsTo = array(
'Profile' = array('className'=>'Profile','foreignKey'=>'user_id' )
)
}
다음 코드를 실행하세요
$this->User->unbind(array(' 소속 '=>array('Profile')));
$rs=$this->User->find();
$rs는
array(
'User'=>array(),
)
찾기 전에 바인딩 해제가 실행되지 않으면 $ rs는
array(
>
그러나 paginate
$rs=$this->paginate('User');
[/code]
$rs의 결과는 여전히
array(
'User'=>array(),
)
왜 paginate Association(unbind)에서 해제할 수 없나요?
이유는 find에서 데이터를 가져온 후 find가 사용하기 때문입니다. model->resetAssociations(); 페이지 매김에서 찾기는 두 번 사용됩니다. 한 번은 페이징에 표시되는 데이터를 가져옵니다. 🎜>해결 방법: unbind의 두 번째 매개 변수에 true가 아닌 값을 할당합니다. unbind의 두 번째 매개 변수가 true이면 cakephp는 model->resetAssociations를 실행할 때 연결을 해제해야 하는 데이터베이스를 저장합니다. (); 이는 model->__backAssociation에서 관련 데이터를 복원하므로 다음 코드로 이를 해결할 수 있습니다
$this->User->unbind(array(' ownTo'=>array('Profile')),false);
$rs=$this-> ;paginate('User');
또한 다음과 같은 경우 paginate()를 실행한 후 모델의 관련 데이터를 사용해야 app_model.php 파일에 추가할 수 있습니다. 다음 코드
/**
* 함수 설명: 연결을 끄고 연결을 반환합니다.
* Controller->paginate() 및 Model->bind()에 대해 작동하는 함수입니다.
* 기능은 다음과 같습니다. 일부 바인딩을 해제하기 전에 Controller->paginate()에서 데이터를 가져오는 데 도움이 됩니다.
* 데이터를 가져온 후 연결 제거를 위한 연결 및 리바인딩
* 연결을 다시 바인딩할 필요가 없는 경우에만 사용할 수 있습니다 >
* @Date:2008-10-10
* <br> * $backAssociation = $this->ModelName->unbindAndPushModels(array('belongsTo'=>array('User')));<br> * $result= $this->paginate('ModelName');<br> * $this->ModelName->bind($backAssociation);//이 작업은 연결 데이터의 모델을 복원하는 것입니다.<br> * * @param (类型)参数name :描述<br> **/<br> 함수 unbindAndPushModels($params)<br> {<br> $backAssociation=array();<br> foreach ($params as $assoc => $models)<br> {<br> foreach ($models를 $model로)<br> {<br> If(isset($this->{$assoc}[$model]))<br> {<br> $backAssociation[$assoc][$model] = ; backAssociation;<br><br> 위는 Cakephp가 페이지 매김에서 unbind를 사용하는 방법입니다. 자세한 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요. )! <br><br><br><br><br>

CakePHP是一个开源的PHPMVC框架,它广泛用于Web应用程序的开发。CakePHP具有许多功能和工具,其中包括一个强大的数据库查询构造器,用于交互性能数据库。该查询构造器允许您使用面向对象的语法执行SQL查询,而不必编写繁琐的SQL语句。本文将介绍如何使用CakePHP中的数据库查询构造器。建立数据库连接在使用数据库查询构造器之前,您首先需要在Ca

CakePHP是一个强大的PHP框架,为开发人员提供了很多有用的工具和功能。其中之一是分页,它可以帮助我们将大量数据分成几页,从而简化浏览和操作。默认情况下,CakePHP提供了一些基本的分页方法,但有时你可能需要创建一些自定义的分页方法。这篇文章将向您展示如何在CakePHP中创建自定义分页。步骤1:创建自定义分页类首先,我们需要创建一个自定义分页类。这个

在当今数字化时代,应用程序对于企业和个人来说,已经成为了不可或缺的一部分。应用程序能够让人们更加便捷地进行各种操作,而PHP和CakePHP框架则是日益流行的应用程序开发工具。在本文中,我们将讨论如何使用PHP和CakePHP框架进行应用程序开发。一、PHP是什么?PHP(外文全称为“HypertextPreprocessor”)是一种开源的服务器端脚本语

CakePHP是一种流行的PHP框架,用于开发Web应用程序。与许多其他PHP框架一样,CakePHP也提供了许多有用的功能和插件来帮助业务流程,其中包括生成PDF文件。这项任务可以使用FPDF插件轻松完成。本文将介绍如何在CakePHP中使用FPDF。FPDF是一种开源的PHP类库,用于生成PDF文件。它具有许多有用的功能,例如嵌入字体、添加图像、绘制基本

CakePHP是一个流行的PHP框架,它提供了方便的ORM(对象关系映射)功能,使得查询和更新数据库变得非常容易。本文将介绍如何在CakePHP中进行数据查询和更新。我们将从简单的查询和更新开始,逐步深入,了解如何使用条件和关联的模型来更复杂地查询和更新数据。基本查询首先,让我们看看如何进行最简单的查询。假设我们有一个名为“Users”的数据表,并且我们想要

CakePHP是一款优秀的PHP开发框架,它通过提供一系列强大的功能和工具,简化了Web应用程序的开发过程。而Guzzle是一个PHPHTTP客户端和请求库,它能够帮助开发者轻松地发送HTTP请求和访问Web服务。在本文中,我们将介绍如何在CakePHP中使用Guzzle,以便更加高效地开发Web应用程序。一、安装Guzzle首先,我们需要在CakePHP

CakePHP是一款流行的PHP开发框架,它提供了快速开发Web应用程序所需的基本功能和结构。在现代应用中,使用多个数据库连接已经成为了一个普遍的需求,例如,建立主从数据库连接或将数据分片到不同的数据库中。本文将介绍如何在CakePHP中使用多个数据库连接。CakePHP中的默认数据库连接在开始之前,让我们先了解一下CakePHP中默认的数据库连接。Cake

CakePHP是一款流行的PHP框架,它为Web开发提供了许多便利的功能。其中一个非常有用的功能是Cookie组件。在本文中,我们将介绍如何在CakePHP中使用Cookie组件来存储和检索数据。一、什么是Cookie?Cookie是一个小的数据片段,存储在网站上的用户计算机上。它可以用来存储用户喜好、登陆信息和其他相关的数据。Cookie可以被服务器和客户


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
