您需要帮助才能了解CakePHP中的某些功能。
我有一个SQL表:用户。 我生成了烘焙模型: UserTable 。
在 UsersController 的 home()操作中,我有:
<activity android:name="com.shared.app.SharedMain"
android:label="@string/MicMainName" >
查询由Cake生成,此代码运行良好。
我的问题是:
感谢您的帮助;)
答案 0 :(得分:1)
检查代码是否正确的最快方法之一是实际运行它并查看它是否返回您期望的内容。
findByLogin()
是一个蛋糕dynamic finder所以你不需要定义这个方法,因为Cake动态地为你做这个。您可以使用findBy
为任何带有驼峰的列名添加前缀,以使用该列查询表。
您可以像这样使用它: -
$t_Results = $this->Users->findByLogin('jdupont')->first();
答案 1 :(得分:1)
是的,你可以在你的模型中创建一个findByLogin,但你不必这样做。
您的代码有效,但不尊重约定。 在CakePHP 3中 SQL表是单数小写, 表格文件有上面的第一个字母和复数后缀表格, 控制器是多个第一个字母上部,后缀为Controller。
如果您在控制器中遵循这些约定,则可以执行以下操作:
$t_Results = $this->Users->findByLogin('jdupont')->execute()->fetchAll('assoc');
debug($t_Results);
您不必使用 - &gt; execute()。查询对象被延迟评估,当您使用请求时将调用execute。