cakephp-3.0相关内容
我需要在多列上创建一个 IN 条件,就像这样 ...在哪里(order_date, order_number) IN (('2016-03-11', 3455453),('2016-03-18', 83545454),('2016-06-17', 5354544)) 从这样的数组开始: $orders = [['2016-03-11', 3455453],['2016-03-18', 835
..
继续使用 cakephp 2 应用程序,我一直在尝试在我的模型中使用 $tablePrefix.这在 Cake 3 中仍然可用吗?或者我如何使用其他东西(请解释). 解决方案 要像在 2.x 中那样获取每个表的前缀,只需在 Table 类中执行此操作: 公共函数初始化(数组$config){$this->table('my_prefix_' . $this->table());...}
..
我在使 cookie 在 cakephp 3.5.x 中工作时遇到问题. 在早期版本中,我使用了 Cookie 组件,但现在已弃用.我不清楚如何使用这个新的中间件来读取和写入 cookie. 文档 对我来说不清楚.它向我展示了如何设置 cookie 中间件,而不是如何处理在控制器中创建 cookie.有没有人在3.5.x中处理过cookies? 解决方案 中间件仅替换 Cook
..
我使用的是 CakePHP 3 和 MySQL. 我想通过 CakePHP 3 模型实现 INSERT on DUPLICATE KEY UPDATE aka upsert 查询. 鉴于下表: +----+---------+-----+|身份证 |用户名 |年龄 |+----+------------+-----+|1 |管理员 |33 ||2 |蒂米 |17 ||3 |莎莉 |2
..
我遵循了升级指南(在我从 3.6 升级到 3.8 之后)但我收到这个错误: 错误:[Cake\View\Exception\MissingTemplateException] 模板文件“Error\error500.ctp";不见了 .... 如果要自定义此错误消息,请创建 src\Template\Error\fatal_error.ctp 在升级过程之后,我的模板移动到
..
我将一个外部类添加到 cake 3.0 应用程序中,方法是将其放入/vendor/name 文件夹并从这样的组件中要求它: require_once( $_SERVER['DOCUMENT_ROOT'].'/project/vendor/external/testClass.php'); 但是当我尝试 getInstance();一个班级 - 我收到一个错误 未找到类“App\Control
..
情况 使用Cake 3.2.4 我有一个 EventTicketSales 表 那个 $this->belongsToMany('Approvings', ['类名' =>'联系人','joinTable' =>'event_ticket_sales_approvings','targetForeignKey' =>'contact_id','保存策略' =>'代替',]);
..
我用 CakePHP3 启动了一个应用程序,我需要记录一些用户的操作.所以,我已经迁移了我的日志结构,我已经烘焙了我的控制器 &模型,现在,我尝试在用户登录时获取日志. 我像这样更新了我的 UsersController: 命名空间 App\Controller;使用 App\Controller\AppController;使用 App\Model\Table\LogsTable;使用
..
我使用的是 CakePHP 3,我需要对多个表运行原始 SQL 查询.在 CakePHP 2 中,这可以通过在任何模型( $this->Messages->query("select..") )上使用 query() 方法来完成. 我需要允许我在 CakePHP 3 中运行 SQL 查询的方法.以下是我使用的代码片段: $aumTable = TableRegistry::get('Mes
..
我认为这是一种常见的模式,但我找不到优雅的 CakePHP 方法.这个想法是从已经选择的列表中删除值.使用 Cake 书中的一个例子: table Students (id int, name varchar)表课程(id int,name varchar)表 CoursesMemberships(id int、student_id int、course_id int、days_attended
..
CakePHP 3.0 对于存在的路线,我收到了“缺少路线"的错误消息. 这是我的路线: #my admin 路由...Router::prefix('admin', function($routes) {$routes->connect('/', ['controller'=>'Screens', 'action'=>'index']);$routes->connect('/scr
..
我有 Semesters、Disciplines 表和一个联合表 Semesters_Disciplines.我想在 DisciplinesController 中创建一个 action 索引,参数为 term_id,该索引只列出属于该学期的学科,参数中传递了 id.我试过这个: 公共函数索引($semester_id){$options = ['semester_id' =>$semester
..
由于 CakePHP 3x 具有内置响应功能,我想知道元素结构和类定义. 我确实熟悉 Twitter Bootstrapping(在 cake 2x 项目中完成).但是需要熟悉 CakePHP 3x 版本,因为它是新的框架! 我查看了 css/base.css 并发现了几个元素类,例如 Grids: .small-1(to 12), .medium-1(到 12)、.large-1(到 12
..
在 CakePHP 2 中,我总是使用 empty 来检查是否有任何结果. Modelname->find('first', ['conditions' => ['field' => 'value'] ] );如果(空($结果)){//错误的请求} 在 CakePHP 3 中,我觉得很奇怪. $fancyTable = TableRegistry:
..
我有一个作者的全名列,想将姓氏提取到另一列中.我使用以下原始 SQL 执行此操作: 选择名称,SUBSTRING_INDEX(`name`, ' ', -1) AS `surname`来自 qr.authors; 输出: 在“使用 SQL 函数"下,Cookbook 说: 除了上述函数之外,func() 方法还可用于创建任何通用的 SQL 函数,例如 year、date_forma
..
我想在 CakePHP 3.0.0 中对联合查询进行分页.通过使用 自定义查找器,我让它几乎完美运行,但我找不到任何方法让 limit 和 offset 应用到联合中,而不是任何一个子查询. 换句话说,这段代码: $articlesQuery = $articles->find('all');$commentsQuery = $comments->find('all');$unionQue
..
我有两个不同的 cakephp 应用程序.一个是 3.5 版,另一个是 3.6 版. 当我使用和构建 3.5 应用程序时,我没有遇到 CSRF 在 post 请求中匹配的问题. 但是现在当我使用 3.6 时,它给了我 CSRF 令牌错误. 虽然在两个应用的AppController中,CSRF组件都被禁用了. //$this->loadComponent('Csrf');
..
在 cakephp 3.x 中我不能在 find 中做分页顺序 这是我的控制器: //AgentsController.php公共函数 show(){$agents = $this->Agents->find()$this->set('agents', $this->paginate($agents));} 这里是我的部分观点 //show.ctp
..
我正在尝试禁用单个控制器 (API) 的 CSRF 检查,但我无法找到如何实现这一点. 3.5.0 之前的 CSRF 组件可以根据特定请求禁用: $this->eventManager()->off($this->Csrf); 解决方案 有两种方法可以做到这一点. 将中间件应用于特定的路由范围(甚至路由) 根据您创建的路由,您可以将中间件仅应用于特定范围,例如: //co
..
在使用 CakePHP 2 一段时间后,我开始使用 CakePHP 3,但在创建身份验证登录时遇到了麻烦. 新的身份验证函数 $this->Auth->identify() 总是返回 false. 在数据库上,密码加密完美,查询谁带用户也可以. 我的代码: 应用控制器: [...]类 AppController 扩展控制器{公共函数初始化(){$this->loadCom
..