Il y a trois tables
Table de produit marchandises : les champs sont id, marchandises_id, marchandises_name, frais, durée, unité, create_time
Mise à niveau de la table de mise à niveau du logiciel : les champs sont id, app_name, china_name, app_version, force_upgrade, download_url, create_time
Tableau détaillé des prix du nom du logiciel Upgrade_access : Les champs sont id, gid (ID de la table des marchandises), Upgrade_id (ID de la table de mise à niveau)
L'exigence approximative est la suivante : trouver le nom d'application de la mise à niveau de la table de mise à niveau du logiciel correspondant aux marchandises de la table des marchandises , puis recherchez le nom du logiciel via app_name. Le Upgrade_id de la table de détail des prix Upgrade_access correspond aux mêmes données dans la table des produits Goods
J'ai l'impression que vous ne pouvez pas le comprendre. J'ai utilisé la méthode du contrôleur pour le découvrir
$. data = Db::name('upgrade_access') ->alias(' a') ->join('goods b','b.id = a.gid') ->join('upgrade c', 'c.id = a.upgrade_id') ->where([' app_name'=>$appname]) ->field('fee,goods_name,duration,unit') ->select();
Mais ce dont j'ai besoin maintenant, c'est que le patron ne me laisse pas utiliser la méthode du contrôleur et me laisse l'utiliser. La méthode d'écriture de la couche modèle puis d'application directe de la couche modèle
Alors, comment écrire la couche modèle ? consiste à personnaliser la valeur d'entrée de app_name et à utiliser la valeur de app_name pour trouver les informations sur les prix de la table des marchandises
Vous pouvez simplement le jeter dans le modèle et l'utiliser.
La différence entre la manière d'écrire le modèle et la manière d'écrire le contrôleur n'est pas trop grande. Construisez vous-même un modèle. Présentez le modèle. Vous pouvez le rechercher sur Baidu. Ce n'est pas difficile