


Yii framework associated query with usage analysis, yii framework with usage_PHP tutorial
Yii framework associated query with usage analysis, yii framework with usage
This article analyzes the usage of associated query with in Yii framework through examples. Share it with everyone for your reference. The specific method is as follows:
What is the difference between Yii framework related query and related query in mysql? Let’s take a look at it with you.
Yii’s related query is indeed a convenient thing. There is a lot of information on the Internet, but most of them are Ctrl+c, Ctrl+v. There are some things that no one has written an article to explain in detail. I’ll refer to them now. After reading many resources on the Internet and adding some of my own understanding, I wrote this article to provide some personal insights to beginners.
YII supports four types of relationships:
BELONGS_TO (belongs to): If the relationship between tables A and B is one-to-many, then table B belongs to table A (for example, Post belongs to User);
HAS_MANY (there are multiple): If the relationship between tables A and B is one-to-many, then A has multiple B (for example, User has multiple Post);
HAS_ONE (has one): This is a special case of HAS_MANY, A can have at most one B (for example, User can have at most one Profile);
MANY_MANY: This corresponds to the many-to-many relationship in the database. Since most DBMS do not directly support many-to-many relationships, a relationship table is needed to split the many-to-many relationship into a one-to-many relationship.
Can newbies really understand this when they see this?
When I first started learning, I felt extremely dizzy. After repeated testing, I will give you a very straightforward explanation.
The existing user table is user and the blog table is blog. The blog belongs to a certain user, and the user will publish multiple blogs.
BELONGS_TO:
controller
model The model here refers to blog_model
Scope of application: When searching for a blog, you need to find out the author of the blog.
The second parameter in b_user: the table name of the subtable, the third parameter, the field in the main table used to store the primary key of the subtable (the field used in the blog table to store the primary key of the user table).
HAS_ONE:
controller
model The model here refers to user_model
After testing it, not only the author's information was found, but also a blog of the author was found.
The second parameter in u_blog: the name of the subtable, the third parameter, the field in the subtable used to store the primary key of the main table (the field in the blog table used to store the primary key of the user table).
HAS_MANY:
controller
model The model here refers to user_model
After a test, not only the author's information was found, not only one of the author's blogs was found, but other blogs of the author were also found.
The second parameter in u_blogs: the name of the subtable, the third parameter, the field in the subtable used to store the primary key of the main table (the field in the blog table used to store the primary key of the user table).
MANY_TO_MANY:
I haven’t used this thing yet, and it seems that I won’t use it at all. I’ll test it out and then update it. . .
At this point, the most basic usage of Yii with is almost explained, but don’t you have any questions?
How to specify the subtable fields to be queried?
All articles of this user have been found in HAS_MANY. What if I only want to check 5 articles?
...Waiting for your questions.
So, without further ado, let’s solve the first problem
Try this?
Second question
Done!
I believe that after reading these very novice explanations, you should suddenly realize it. As the saying goes, everything is difficult at the beginning. I believe you will understand the rest at a glance~~~
The following content is from the Yii manual:
Depending on the delay loading, the following options are available:
'group': string, GROUP BY clause. The default value is empty. Note that column references need to be prefixed with 'relationName'. (Example: relationName.age). This option only applies to HAS_MANY and MANY_MANY relationships.
'having': string, HAVING clause. The default value is empty. Note that column references need to be prefixed with 'relationName'. (Example: relationName.age). This option only applies to HAS_MANY and MANY_MANY relationships.
'limit': limit selection of data rows. This option does not apply to BELONGS_TO.
'offset': The offset of the data row. This option does not apply to BELONGS_TO.
'through': The name of the relationship that will be used as a bridge model when retrieving related data. Can be set to HAS_ONE and HAS_MANY only. This option is available since version 1.1.7.
The following is an example of a related object recorded for the 'Post' activity:
'author'=>array(self::BELONGS_TO, 'User', 'author_id'),
'comments'=>array(self::HAS_MANY, 'Comment', 'post_id', 'with'=>'author', 'order'=>'create_time DESC'),
'tags'=>array(self::MANY_MANY, 'Tag', 'post_tag(post_id, tag_id)', 'order'=>'name'),
);
I hope this article will be helpful to everyone’s Yii framework programming design.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Download the latest version of 12306 ticket booking app. It is a travel ticket purchasing software that everyone is very satisfied with. It is very convenient to go wherever you want. There are many ticket sources provided in the software. You only need to pass real-name authentication to purchase tickets online. All users You can easily buy travel tickets and air tickets and enjoy different discounts. You can also start booking reservations in advance to grab tickets. You can book hotels or special car transfers. With it, you can go where you want to go and buy tickets with one click. Traveling is simpler and more convenient, making everyone's travel experience more comfortable. Now the editor details it online Provides 12306 users with a way to view historical ticket purchase records. 1. Open Railway 12306, click My in the lower right corner, and click My Order 2. Click Paid on the order page. 3. On the paid page

How to check my academic qualifications on Xuexin.com? You can check your academic qualifications on Xuexin.com, but many users don’t know how to check their academic qualifications on Xuexin.com. Next, the editor brings you a graphic tutorial on how to check your academic qualifications on Xuexin.com. Interested users come and take a look! Xuexin.com usage tutorial: How to check your academic qualifications on Xuexin.com 1. Xuexin.com entrance: https://www.chsi.com.cn/ 2. Website query: Step 1: Click on the Xuexin.com address above to enter the homepage Click [Education Query]; Step 2: On the latest webpage, click [Query] as shown by the arrow in the figure below; Step 3: Then click [Login Academic Credit File] on the new page; Step 4: On the login page Enter the information and click [Login];

MySQL and PL/SQL are two different database management systems, representing the characteristics of relational databases and procedural languages respectively. This article will compare the similarities and differences between MySQL and PL/SQL, with specific code examples to illustrate. MySQL is a popular relational database management system that uses Structured Query Language (SQL) to manage and operate databases. PL/SQL is a procedural language unique to Oracle database and is used to write database objects such as stored procedures, triggers and functions. same

If you want to check the activation date using an Apple mobile phone, the best way is to check it through the serial number in the mobile phone. You can also check it by visiting Apple's official website, connecting it to a computer, and downloading third-party software to check it. How to check the activation date of Apple mobile phone Answer: Serial number query, Apple official website query, computer query, third-party software query 1. The best way for users is to know the serial number of their mobile phone. You can see the serial number by opening Settings, General, About This Machine. . 2. Using the serial number, you can not only know the activation date of your mobile phone, but also check the mobile phone version, mobile phone origin, mobile phone factory date, etc. 3. Users visit Apple's official website to find technical support, find the service and repair column at the bottom of the page, and check the iPhone activation information there. 4. User

Title: How to use Oracle to query whether a table is locked? In Oracle database, table lock means that when a transaction is performing a write operation on the table, other transactions will be blocked when they want to perform write operations on the table or make structural changes to the table (such as adding columns, deleting rows, etc.). In the actual development process, we often need to query whether the table is locked in order to better troubleshoot and deal with related problems. This article will introduce how to use Oracle statements to query whether a table is locked, and give specific code examples. To check whether the table is locked, we

Forum is one of the most common website forms on the Internet. It provides users with a platform to share information, exchange and discuss. Discuz is a commonly used forum program, and I believe many webmasters are already very familiar with it. During the development and management of the Discuz forum, it is often necessary to query the data in the database for analysis or processing. In this article, we will share some tips for querying the location of the Discuz database and provide specific code examples. First, we need to understand the database structure of Discuz

Check the latest price of BitTorrent Coin (BTT) BTT is a cryptocurrency on the TRON blockchain that is used to reward BitTorrent network users for sharing and downloading files. Here's how to find the latest price for BTT: Choose a reliable price check website or app. Some commonly used price query websites include: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Search on the website or app BTT. Check out the latest prices for BTT. Note: Cryptocurrency Prices

How to check the latest price of Tongshen Coin? Token is a digital currency that can be used to purchase in-game items, services, and assets. It is decentralized, meaning it is not controlled by governments or financial institutions. Transactions of Tongshen Coin are conducted on the blockchain, which is a distributed ledger that records the information of all Tongshen Coin transactions. To check the latest price of Token, you can use the following steps: Choose a reliable price check website or app. Some commonly used price query websites include: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/ Binance: https://www.bin
