草庐IT

cakephp-routing

全部标签

php - cakephp 在关联模型上查找查询条件

我在CakePHP应用程序中有一个模型User和一个模型Role。两个模型之间的关联如下:User$belongsToRoleRole$hasManyUser我想对User模型进行查询,以查找具有特定角色(比如说角色Supervisor)的所有用户。我是这样查询的:$supervisors=$this->User->find('all',array('contain'=>array('Role'=>array('conditions'=>array('Role.name'=>'Supervisor')))));但是上面的查询返回了我的用户表中的所有用户。它不仅返回具有主管角色的用户。我

php - CakePHP:总是使用 clear() 而不是 create()?

在循环中调用clear()和create()之间有一个很小但非常重要的区别:让我们假设以下代码:foreach($postsas$post){$this->Post->create();$this->Post->id=$post['Post']['id'];$this->Post->save(['column3'=>'foo','column4'=>'bar']);}在执行create()时:第1列,可能默认为bool值false,也被神奇地添加到更新字段中,并可能导致数据丢失(想想column1=true的帖子)。当执行clear()而不是create()时:根本没有触及保存语句中未

php - CakePHP 模型关系在同一张表上有 2 个外键

我有这个数据库设计ApplicantTableid|country_id|country_now_idCountryTableid|namecountry_id是CountryTable的FK,country_now_id也是CountryTable的FK。我的问题是如何在模型关系中编写这个?我有这个代码:classApplicantextendsAppModel{public$belongsTo=array('Country'=>array('className'=>'Country','foreignKey'=>'country_id'),);.....我不知道如何添加countr

php - cakephp - 按包含的模型中的字段排序

我正在尝试获取特定类别中的所有产品(产品hasandbelongstomanyCatrgories)。我的条件是Category.name='whatever'和Product.live=1我可以这样做:$cats=$this->Category->find('all',array('conditions'=>array('Category.name'=>$categoryName),'contain'=>'Product.live=1'));但我也想按Product.sort_order对结果进行排序,所以我尝试了:$cats=$this->Category->find('all',

php - 如何在cakephp 的.ctp 文件中设置meta 标签逻辑?

我尝试将这段代码转化为cakephp代码...我试试这个$this->Html->meta(array('charset'=>'utf-8'));$this->Html->meta(array('content'=>'IE=edge,chrome=1'),array("http-equiv"=>X-UA-Compatible));$this->Html->meta("viewport",array("content"=>width=device-width,initial-sacale=1.0));$this->Html->meta("description");$this->Html

php - slim 的框架 : routes and controllers

最初,我的SlimFramework应用程序具有经典结构(索引.php)get('/hello/:name',function($name){echo"Hello,$name";});$app->run();但是随着我添加更多的路由和路由组,我转向了基于Controller的方法:索引.phpget('/hello/:name','HelloController::hello');$app->run();HelloController.php这很有效,它有助于组织我的应用程序结构,同时让我可以为每个Controller方法构建单元测试。但是,我不确定这是正确的方法。我觉得我是在自成一格

php - 独立使用 Symfony Routing 时如何缓存路由?

我正在独立使用Symfony路由组件,即不使用Symfony框架。这是我正在使用的基本代码:add('name',newSymfony\Component\Routing\Route(/*uri*/));//moreroutesaddedhere$context=newSymfony\Component\Routing\RequestContext();$context->setMethod(/*method*/);$matcher=newSymfony\Component\Routing\Matcher\UrlMatcher($router,$context);$result=$ma

php - cakephp - 触发 - 执行查询后

如何在所有查询中更改模型之一的输出?这意味着查询在此模型上运行,然后转到特定函数。例如,在用户模型中,如何删除所有查询的密码字段谢谢 最佳答案 将以下内容添加到您的模型中:publicfunctionafterFind($results,$primary=false){foreach($resultsas$key=>$val){unset($results[$key][$this->alias]['password']);}return$results;}这也应该有效:publicfunctionafterFind($results

php - Laravel 使用 Route::resource 生成路由需要添加 prefix/admin/

比如我有一个管理页面管理图书的路由,路由是这样设置的:Route::resource('books','Admin\BookController');它自动为插入/更新/删除等生成了一些路由/books/create/books/1/edit问题是,这是管理页面,我希望链接是/admin/books/create/admin/books/1/edit如何指定要管理的资源?它自动有前缀/admin/谢谢更新: 最佳答案 如果你需要多条路由的前缀,你应该使用routegroup:Route::group(['prefix'=>'admi

php - 如何在cakephp中运行单个测试用例方法

我正在使用带有xdebug的cakephp测试(php单元测试)来运行服务器端代码并​​监视终端的输出,而不是将其用于验证。所以,每次,我想从终端运行一些特定的lib/controller/model方法并查看输出,我必须注释掉其他测试用例函数。我知道这可能不是正确的方法,但我想知道,如果有办法,我可以围绕蛋糕测试构建一个包装器,它将采用我想要运行的方法名称的参数? 最佳答案 无需编写封装脚本运行一种测试方法使用过滤器选项:->phpunit--helpPHPUnit4.4.1bySebastianBergmann.Usage:ph