Home php教程 php手册 使用CakePHP脚手架工具设置数据库和模型

使用CakePHP脚手架工具设置数据库和模型

Jun 13, 2016 am 11:03 AM
cakephp host use and tool database Model scaffold set up

CakePHP脚手架工具主要是用来设置数据库和模型的。下面介绍这个CakePHP脚手架工具的操作原理及方法。

我们已经知道,模型类通常都是用来与数据库进行互动的。在CakePHP中,一个模型类通常都对应数据库中的莫个表。所有对表进行的数据库操作都是通过对应的模型类来实施的。CakePHP的模型与数据库表之间的对应关系无需设置。相反,CakePHP使用了一些简单的命名规则来实现这一效果,在这一部分,我们将了解到如何为数据库中的表的创建对已的模型类。CakePHP提供了一个名为"脚手架"工具来帮助我们检查先前创建好的模型和数据库表。我们也将了解到如何使用“脚手架”功能完成这一工作。

为数据库中的表创建模型

在了解模型类是如何与数据库表进行互动之前,我们首先要创建一个数据库表。在接下来这一部分中,我们首先将创建一个数据库表,然后了解如何为这个表创建一个模型类。然后我们也会使用脚手架功能对新创建的模型和数据表进行一个快速的测试。

动手时间:创建一个数据库表以及对应的模型

1,在MySQL命令提示行中,我们输入如下数据库命令来创建一个名为data-access的新数据库。

<ol class="dp-sql"><li class="alt"><span><span class="keyword"><strong><font color="#006699">CREATE</font></strong></span><span> </span><span class="keyword"><strong><font color="#006699">DATABASE</font></strong></span><span> `data-access`; </span></span></li></ol>
Copy after login

2,通过执行下面的SQL语句来创建一个“books”表:

<ol class="dp-sql">
<li class="alt"><span><span>USE `data-access`;   </span></span></li>
<li class="">
<span></span><span class="keyword"><strong><font color="#006699">CREATE</font></strong></span><span> </span><span class="keyword"><strong><font color="#006699">TABLE</font></strong></span><span> `books` (  </span>
</li>
<li class="alt">
<span>`id` </span><span class="keyword"><strong><font color="#006699">int</font></strong></span><span>( 11 ) </span><span class="op"><font color="#808080">NOT</font></span><span> </span><span class="op"><font color="#808080">NULL</font></span><span> AUTO_INCREMENT </span><span class="keyword"><strong><font color="#006699">PRIMARY</font></strong></span><span> </span><span class="keyword"><strong><font color="#006699">KEY</font></strong></span><span> ,  </span>
</li>
<li class="">
<span>`isbn` </span><span class="keyword"><strong><font color="#006699">varchar</font></strong></span><span>( 10 ) </span><span class="op"><font color="#808080">NOT</font></span><span> </span><span class="op"><font color="#808080">NULL</font></span><span> ,  </span>
</li>
<li class="alt">
<span>`title` </span><span class="keyword"><strong><font color="#006699">varchar</font></strong></span><span>( 127 ) </span><span class="op"><font color="#808080">NOT</font></span><span> </span><span class="op"><font color="#808080">NULL</font></span><span> ,  </span>
</li>
<li class="">
<span>`description` text </span><span class="op"><font color="#808080">NOT</font></span><span> </span><span class="op"><font color="#808080">NULL</font></span><span> ,  </span>
</li>
<li class="alt">
<span>`author_name` </span><span class="keyword"><strong><font color="#006699">varchar</font></strong></span><span>( 127 ) </span><span class="op"><font color="#808080">NOT</font></span><span> </span><span class="op"><font color="#808080">NULL</font></span><span> </span>
</li>
<li class=""><span>)  </span></li>
<li class="alt"><span> </span></li>
</ol>
Copy after login

3,将一份全新的CakePHP文件夹放置到你的网页根目录下。将Cake的文件夹重命名为data-access.

4,进入Cake安装文件夹下的/app/config目录。你找到一个名为 database.php.default的文件。将这个文件重命名为database.php。使用你喜欢的编辑器打开它。编辑文件中的$default数组以配置好你的数据库。在编辑好之后,它看起来应该跟下面这段内容差不多

<ol class="dp-sql">
<li class="alt"><span><span>var $</span><span class="keyword"><strong><font color="#006699">default</font></strong></span><span> = array(  </span></span></li>
<li class="">
<span>         </span><span class="string"><font color="#0000ff">'driver'</font></span><span> => </span><span class="string"><font color="#0000ff">'mysql'</font></span><span>,  </span>
</li>
<li class="alt">
<span>         </span><span class="string"><font color="#0000ff">'persistent'</font></span><span> => </span><span class="keyword"><strong><font color="#006699">false</font></strong></span><span>,  </span>
</li>
<li class="">
<span>         </span><span class="string"><font color="#0000ff">'host'</font></span><span> => </span><span class="string"><font color="#0000ff">'localhost'</font></span><span>,  </span>
</li>
<li class="alt">
<span>         </span><span class="string"><font color="#0000ff">'port'</font></span><span> => </span><span class="string"><font color="#0000ff">''</font></span><span>,  </span>
</li>
<li class="">
<span>         </span><span class="string"><font color="#0000ff">'login'</font></span><span> => </span><span class="string"><font color="#0000ff">'username'</font></span><span>,  </span>
</li>
<li class="alt">
<span>         </span><span class="string"><font color="#0000ff">'password'</font></span><span> => </span><span class="string"><font color="#0000ff">'password'</font></span><span>,  </span>
</li>
<li class="">
<span>         </span><span class="string"><font color="#0000ff">'database'</font></span><span> => </span><span class="string"><font color="#0000ff">'data-access'</font></span><span>,  </span>
</li>
<li class="alt">
<span>         </span><span class="string"><font color="#0000ff">'schema'</font></span><span> => </span><span class="string"><font color="#0000ff">''</font></span><span>,  </span>
</li>
<li class="">
<span>         </span><span class="string"><font color="#0000ff">'prefix'</font></span><span> => </span><span class="string"><font color="#0000ff">''</font></span><span>,  </span>
</li>
<li class="alt">
<span>         </span><span class="string"><font color="#0000ff">'encoding'</font></span><span> => </span><span class="string"><font color="#0000ff">''</font></span><span> </span>
</li>
<li class=""><span>      );  </span></li>
</ol>
Copy after login

5,现在,在你的浏览器中输入如下地址

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

How to efficiently integrate Node.js or Python services under LAMP architecture? How to efficiently integrate Node.js or Python services under LAMP architecture? Apr 01, 2025 pm 02:48 PM

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

How to configure apscheduler timing task as a service on macOS? How to configure apscheduler timing task as a service on macOS? Apr 01, 2025 pm 06:09 PM

Configure the apscheduler timing task as a service on macOS platform, if you want to configure the apscheduler timing task as a service, similar to ngin...

In LangChain, how do I use AgentExecutor to replace the disabled initialize_agent function? In LangChain, how do I use AgentExecutor to replace the disabled initialize_agent function? Apr 01, 2025 pm 04:18 PM

How to replace the disabled initialize_agent function in LangChain? In the LangChain library, initialize_agent...

Can Python parameter annotations use strings? Can Python parameter annotations use strings? Apr 01, 2025 pm 08:39 PM

Alternative usage of Python parameter annotations In Python programming, parameter annotations are a very useful function that can help developers better understand and use functions...

Can the Python interpreter be deleted in Linux system? Can the Python interpreter be deleted in Linux system? Apr 02, 2025 am 07:00 AM

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

How to ensure high availability of MongoDB on Debian How to ensure high availability of MongoDB on Debian Apr 02, 2025 am 07:21 AM

This article describes how to build a highly available MongoDB database on a Debian system. We will explore multiple ways to ensure data security and services continue to operate. Key strategy: ReplicaSet: ReplicaSet: Use replicasets to achieve data redundancy and automatic failover. When a master node fails, the replica set will automatically elect a new master node to ensure the continuous availability of the service. Data backup and recovery: Regularly use the mongodump command to backup the database and formulate effective recovery strategies to deal with the risk of data loss. Monitoring and Alarms: Deploy monitoring tools (such as Prometheus, Grafana) to monitor the running status of MongoDB in real time, and

PostgreSQL monitoring method under Debian PostgreSQL monitoring method under Debian Apr 02, 2025 am 07:27 AM

This article introduces a variety of methods and tools to monitor PostgreSQL databases under the Debian system, helping you to fully grasp database performance monitoring. 1. Use PostgreSQL to build-in monitoring view PostgreSQL itself provides multiple views for monitoring database activities: pg_stat_activity: displays database activities in real time, including connections, queries, transactions and other information. pg_stat_replication: Monitors replication status, especially suitable for stream replication clusters. pg_stat_database: Provides database statistics, such as database size, transaction commit/rollback times and other key indicators. 2. Use log analysis tool pgBadg

See all articles