thinkphp3.2视图模型,各种报错和调试得到的心得
把thinkphp3.2版本的视图模型的错误都折腾了一个遍
namespace Home\Model;
use Think\Model\ViewModel;
class ViewFriendsModel extends ViewModel {
public $viewFields = array(
'friend'=>array('id','uid','fid','truename','addtime','typeid','status'),
'user'=>array('nickname', '_on'=>'friend.fid=user.id'),
);
}
1. 命名空间 namespace Home\Model;
这个一定要写在第一行,如果出现报错, 那就说明不是第一行, 有时候命名看到就是第一样,但是还是报错, 这种情况少数但是还是有,那是因为文件有BOM报头。一般出现这种情况的话很多时候是因为用记事本编辑过。解决方法有很多,用dreamweaver的话就是 找到这个文件,修改->页面属性->标题编码,把 包括Unicode签名(BOM)(s) 前面的勾去掉。
2. 引用命名空间 use Think\Model\ViewModel;
这个很多同学会忽略掉 。 因为很多同学贪图方便,把之前的模型文件复制过来,把文件名称改一下就可以写视图。 你要注意,你之前的模型是不是引用命名空间是这样的:use Think\Model 。
3. 继承类 class FriendsModel extends ViewModel
这个类是ViewModel ,而不是Model。视图的类是有区别的。
4. 表名 friend,user
这个是你数据库里面的表名称, 然后TP会以这个名字作为这个表名的别名, 如果你在配置里面设置了前缀,记得不要再把前缀写上去可以减少码字,我在数据库里面的名称是n_friend,n_user。
最后的表现形式是这样 : select * from n_friend friend join n_user user on friend.uid=user.id
5. 关联表 _on
这个跟上面3一样,表名称不要写前缀。
6. 文件名称
这个也是要注意的,文件名称必须首字母大写,而且在代码里面的类名称要跟文件名的一样,比如文件名称是FriendsModel.class.php,那么类名词就应该是FriendsModel ,首字母都要大写。
而且需要注意,文件名不要有下横线 “_” 。有些同学喜欢这样命名 User_ViewModel.class.php 。呵呵,TP的视图机制应该是系统不识别的。应该这样写UserViewModel.class.php
7. 控制器调用
实例化模型必须要用D(),如果用M()那是不对的。我在控制器里面是这样的
D(‘ViewFriends’)->select();
8. 调试视图模型
调试thinkphp3.2版本的视图模型的时候,可以用这个方法
echo D('ViewFriends')->getLastSql();
用TP提供的getLastSql()方法来把语句打印出来。然后把这个语句拿到mysql数据库里面运行看看报什么错,根据这个错调试我们的sql语句
9. 视图的where()
视图的where方法应该是这样用的 where('friend.fid=%d',$fid) 要标明是那个表
欢迎加入qq群一起探讨更多的thinkphp问题: 323899029
AD:真正免费,域名+虚机+企业邮箱=0元

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Découvrez la programmation Python avec des exemples de code d'introduction. Python est un langage de programmation facile à apprendre mais puissant. Pour les débutants, il est très important de comprendre les exemples de code d’introduction à la programmation Python. Cet article vous fournira quelques exemples de code concrets pour vous aider à démarrer rapidement. Imprimer HelloWorldprint("HelloWorld") Il s'agit de l'exemple de code le plus simple en Python. La fonction print() est utilisée pour afficher le contenu spécifié

Les variables PHP stockent les valeurs pendant l'exécution du programme et sont cruciales pour créer des applications WEB dynamiques et interactives. Cet article examine en profondeur les variables PHP et les montre en action avec 10 exemples réels. 1. Stocker l'entrée de l'utilisateur $username=$_POST["username"];$passWord=$_POST["password"]; Cet exemple extrait le nom d'utilisateur et le mot de passe de la soumission du formulaire et les stocke dans des variables pour un traitement ultérieur. 2. Définissez la valeur de configuration $database_host="localhost";$database_username="username";$database_pa

Titre : Du débutant à la maîtrise : implémentation du code des structures de données couramment utilisées dans le langage Go. Les structures de données jouent un rôle essentiel dans la programmation et constituent la base de la programmation. Dans le langage Go, il existe de nombreuses structures de données couramment utilisées, et maîtriser la mise en œuvre de ces structures de données est crucial pour devenir un bon programmeur. Cet article présentera les structures de données couramment utilisées dans le langage Go et donnera des exemples de code correspondants pour aider les lecteurs à démarrer et à maîtriser ces structures de données. 1. Array Array est une structure de données de base, qui est un groupe du même type.

"Exemples de programmation en langage Go : exemples de code dans le développement Web" Avec le développement rapide d'Internet, le développement Web est devenu un élément indispensable dans diverses industries. En tant que langage de programmation doté de fonctions puissantes et de performances supérieures, le langage Go est de plus en plus privilégié par les développeurs en développement Web. Cet article expliquera comment utiliser le langage Go pour le développement Web à travers des exemples de code spécifiques, afin que les lecteurs puissent mieux comprendre et utiliser le langage Go pour créer leurs propres applications Web. 1. Serveur HTTP simple Commençons par un

L'exemple de code le plus simple du tri à bulles Java est un algorithme de tri courant. Son idée de base est d'ajuster progressivement la séquence à trier en une séquence ordonnée grâce à la comparaison et à l'échange d'éléments adjacents. Voici un exemple de code Java simple qui montre comment implémenter le tri à bulles : publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

Guide d'interconnexion Huawei Cloud Edge Computing : exemples de code Java pour implémenter rapidement des interfaces Avec le développement rapide de la technologie IoT et l'essor de l'informatique de pointe, de plus en plus d'entreprises commencent à s'intéresser à l'application de l'informatique de pointe. Huawei Cloud fournit des services d'informatique de pointe, offrant aux entreprises des ressources informatiques hautement fiables et un environnement de développement pratique, facilitant ainsi la mise en œuvre des applications d'informatique de pointe. Cet article explique comment implémenter rapidement l'interface informatique de pointe Huawei Cloud via le code Java. Tout d’abord, nous devons préparer l’environnement de développement. Assurez-vous que le kit de développement Java est installé (

Comment utiliser PHP pour écrire le code de la fonction de gestion des stocks dans le système de gestion des stocks La gestion des stocks est un élément indispensable dans de nombreuses entreprises. Pour les entreprises disposant de plusieurs entrepôts, la fonction de gestion des stocks est particulièrement importante. En gérant et en suivant correctement les stocks, les entreprises peuvent répartir les stocks entre différents entrepôts, optimiser les coûts d'exploitation et améliorer l'efficacité de la collaboration. Cet article explique comment utiliser PHP pour écrire du code pour les fonctions de gestion d'entrepôt et vous fournit des exemples de code pertinents. 1. Établissez la base de données avant de commencer à écrire le code de la fonction de gestion des entrepôts de stocks.

Guide de rédaction de code et exemples de la méthode de tri par sélection Java Le tri par sélection est un algorithme de tri simple et intuitif. L'idée est de sélectionner à chaque fois l'élément le plus petit (ou le plus grand) parmi les éléments non triés et de l'échanger jusqu'à ce que tous les éléments soient triés. Cet article fournira un guide d'écriture de code pour le tri des sélections et joindra un exemple de code Java spécifique. Principe de l'algorithme Le principe de base du tri par sélection est de diviser le tableau à trier en deux parties, triée et non triée. A chaque fois, le plus petit (ou le plus grand) élément est sélectionné dans la partie non triée et placé à la fin de la partie triée. Répétez ce qui précède
