草庐IT

cakephp-3.2

全部标签

php - 在 CakePHP 项目中使用 Git

我使用git作为我的主要版本控制系统,并且最近开始在我的CakePHP项目中使用git。这是我当前的.gitignore文件:app/tmpvendors/如在cakephpgitrepo中使用的那样,但这会导致我在将项目部署到服务器时做更多的工作,因为我必须手动创建所有的app/tmp/子目录,然后它们才会执行正常工作。有没有办法将其设置为忽略这些文件夹中的内容,但仍将它们置于git控制之下,以便在我将存储库克隆到hoted目录时它们出现?我在处理git索引时也遇到了重置问题,这导致我不得不做比应有的更多的提交,对此有什么想法吗? 最佳答案

php - 在 CakePHP 的 find 'id' ) 方法中使用 ('all' 设置索引

我有一个包含数据的数组,所有数据都有自己唯一的ID。我正在使用ORM方法find('all')并且生成的数组看起来有点像这样:Array([0]=>Array([Wijken]=>Array([id]=>1[name]=>Naam[lat]=>13.37[lon]=>13.37[zoom]=>14)))从我的路由中我收到一个唯一的ID..我想要的是重新使用我的数组并从比方说ID1获取数据。所以我需要的是我的关联数组(由find('')返回)的索引设置为“Wijken”对象本身的ID。我解释了一切,以防万一人们有不同的方法。再次使用参数ID查询数据库是NotAcceptable。

php - CakePHP 和 tinyint 作为 bool 值

我如何强制CakePHP2.x检索tinyint数据库列而不是bool值,而是tinyint?MySQL:Column|type-------------------------------...|...category_id|tinyint(1)...|...CakePHP:$this->request->data=$this->Question->read();var_dump($this->request->data['Question']['category']);该值始终为0(如果我提取的问题的类别ID为0)或1(如果问题具有任何其他类别ID)。

php - 在 CakePHP 的什么地方放置自定义全局函数?

我想为当前在PHP5.3上运行的CakePHP应用程序添加array_column()的实现(array_column()已在PHP5.5中引入)。在不触及核心文件的情况下执行此操作的最佳方法是什么?请注意,我不想使用helper,我真的想定义全局函数。 最佳答案 如果您不想编写帮助程序,您可以在几个地方放置全局函数。如果你打算只在你的Controller中使用这些功能,最好的地方是AppController。以类似的方式,您可以将AppModel类用于模型函数和View,您可以将它们放在布局中。但是如果你想在整个应用程序中使用这些

php - belongsToMany CakePHP 3 的分页条件

我有Semesters、Disciplines表和一个联合表Semesters_Disciplines。我想在DisciplinesController中创建一个带有semester_id作为参数的Action索引,其中仅使用参数中传递的id列出属于学期的学科。我试过这个:publicfunctionindex($semester_id){$options=['semester_id'=>$semester_id];$this->paginate=['conditions'=>$options];$this->set('disciplines',$this->paginate($thi

php - CakePHP 提交表单以进行正确的操作

我在add.ctp中有这个:AddPostcreate('Post');echo$form->input('title');echo$form->input('body',array('rows'=>'3'));echo$form->end('SavePost');?>这在我的Controller中:functionadd(){if(!empty($this->data)){if($this->Post->save($this->data)){$this->Session->setFlash('Yourposthasbeensaved');$this->redirect(array('

php - CakePHP 发送带有链接的查询

我在我的应用程序上创建了一个链接以允许用户创建约会,但需要传递一些额外的数据,以便应用程序知道要向哪个客户预约。我该怎么做?例如Html->link('BookAppointment',array('admin'=>true,'controller'=>'appointments','action'=>'add'));?>所以url应该是这样的:/admin/appointments/add?clientid=2注意:如果有人认为这是一种不好的方法,请同时评论替代解决方案等。谢谢 最佳答案 我在文档中找到了这个:http://boo

php - CakePHP SQLSTATE[HY000][14] 错误

我正在尝试将当前的CakePHP2.x应用程序升级到3.x。我修复了命名空间和文件夹结构问题。现在我有数据库问题。在我的测试服务器中,我创建了相同的MySQL数据库并授予用户访问权限。然后我更改了config\app.php配置文件。但是当我尝试我的应用程序时,出现以下错误。会有什么问题?好像Cakephp尝试使用Sqlite但我使用MySQL?里面config\app.php'Datasources'=>['default'=>['className'=>'Cake\Database\Connection','driver'=>'Cake\Database\Driver\Mysql'

php - CakePHP 3 : How to properly check if a user is logged in

在CakePHP3中,我发现了两种判断用户是否登录的方法。第一个解决方案if(!is_null($this->Auth->user('id'))){//Loggedin}第二种解决方案if(!is_null($this->request->session()->read('Auth.User.id'))){//Loggedin}我认为第一个更好,因为它简短明了。是否有更好的方法来验证用户是否已登录?我不一定在寻找速度。我想要一种干净且富有表现力的方式来编写它。 最佳答案 我认为最好的方法是:if($this->Auth->user(

php - 如何在 cakephp 3.x 中执行自定义查询

cakephp中的自定义查询执行。我已经应用了以下代码。$conn=ConnectionManager::get('default');$rs=$conn->query('SELECT*FROMcustomers');虽然customers表有20条记录,但它给我空白数组。请给我一些解决方案。谢谢。 最佳答案 不推荐,但有时也没有别的办法!:你应该提到连接管理器的命名空间useCake\Datasource\ConnectionManager;获取/初始化连接$conn=ConnectionManager::get('default