问题标签 [kohana-3.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3082 浏览

php - Kohana 3.2 ORM 检查单条记录是否存在

我在尝试找出检查特定结果是否包含以下代码的任何记录的最佳方法时遇到了一些麻烦:

我通常会使用一个计数器方法,如 $record->count() 或 $records->exist() 方法,如果找到任何东西,它只会返回 true 或 false。但是没有为 ORM 实现这样的事情。

我知道 kohana ORMs 实现了 SPL 可计数接口,因此我可以使用 php count() 函数,但是当只需要一条记录时,这真的没用,因为 count() 将为任何不包含数据的模型返回 1,例如,如果未找到 id。

这是我解决它的方式:

}

这个特殊的解决方案不是很好,如果我的表不包含 id 字段或者表允许 ID 为空怎么办?

必须有更好的方法来检查模型是否包含任何数据。

有任何想法吗?

0 投票
2 回答
1394 浏览

php - Kohana ORM插入NULL而不是空字符串

在 Kohana 3.2 中,当您覆盖 ORM 的函数“值”时,然后执行以下操作:

NULL 值无论如何都会被转换成一个空字符串,这不是我想要的行为。有人知道解决方法吗?我在文档或网络上找不到任何东西...

0 投票
1 回答
2533 浏览

kohana - Kohana 访问客户端 ip

我正在使用kohana 3.2,我想从请求类中访问客户端 ip,在文档中我可以看到public static string $client_ip哪个应该包含客户端 ip,现在如果我尝试访问它,我喜欢这样:

我明白了:string(3) "::1"这根本没有意义,我做错了什么,或者可能无法访问它?

0 投票
1 回答
323 浏览

kohana - Kohana - 验证 ORM

我现在使用 Kohana 有一段时间了。我使用“has_many”、“has_one”、“belongs_to”没有问题,我的问题是:

如果我有 2 个这样的表:

tbl_foo1

tbl_foo2

我必须有这样的关系: tbl_foo1 属于 tbl_foo2 并且 tbl_foo2 有很多 tbl_foo1 到目前为止一切都很好。

问题是当我尝试将关系保存在控制器中时。所以我有这个代码:

好的,这应该可行,但我认为这不是最好的解决方案,也不是最漂亮的。有 2 个原因,1 因为性能 - 它执行 3 个查询(1 保存 $t1,2 查找 $t2,3 保存 $t2 与 $t1 的关系)和 2 因为它可能保存空记录,因为它没有t 验证 $t2 中记录的存在。

所以我的主要问题是,这应该怎么做?


我自己的解决方案

我使用了 biakaveron 给我的解决方案,谢谢。但是仍然存在验证问题..所以我花了一些时间想出了一个解决方案,使用相同的示例:

tbl_foo1模型中我添加了规则功能:

所以这样一来,我就不必再做一次查询了,这对性能有好处,而且是一种简单的方法。它可以工作,因为当 ORM 试图找到模型的 id 时tbl_foo2,如果没有找到,它会返回 NULL,所以无论如何它都会为空!

注意:我也使用了数据库事务(因为这只是过程的一部分),所以如果其中一个查询由于某种原因中断,那么不会运行任何查询。请记住,您必须使用一个支持事务的数据库引擎(我的是 InnoDB)。

0 投票
1 回答
192 浏览

php - Kohana 3.2 身份验证模块和致命错误

这只是不严重的问题。但我在 kohana 3.2 中发现了一些东西(我不明白)

因此,我已经使用 Auth 模块实现了授权,并始终使用此代码检查授权。

它工作正常!

然后我尝试将此代码放入视图文件中。(查看文件中的任何位置)

所以,这段代码会出现这样的错误

它看起来像一个正常的情况,因为 $dummy 没有定义

然后我刷新它或导航到其他页面

我的问题是 -为什么 'Auth::instance()->get_user()' 在发生致命错误后返回 null

有人分享这个吗?

0 投票
2 回答
207 浏览

php - Kohana 模型两次保存

我刚刚安装了 Kohana 3.2 的新副本,构建了我的数据库,编写了我的第一个模型,并尝试对其进行测试。一切正常,除了模型的“保存”方法被执行了两次——我最终在数据库中得到了两个新条目而不是一个。仅当我使用下面显示的“查找”代码时才会出现此问题。

为什么模型的保存会执行两次,一次是按预期执行,一次是因为找到?

这是代码:

提前致谢!

0 投票
1 回答
409 浏览

php - 使用 Kohana 3.2 ORM 验证可选字段

使用 Kohana 3.2 ORM 验证可选字段的最简单(更简洁)的方法是什么?

  • 仅在字段具有某些内容时验证,在修剪过滤器之后,如果可能的话。
0 投票
1 回答
2273 浏览

php - Kohana 3.2 自定义错误处理

我正在尝试为 404、403、5xx 错误制作自定义错误页面。我按照文档创建了一个错误控制器,覆盖Kohana_Exception类并添加了一条路线。

Kohana_Exception 类

错误控制器

路线

当我抛出HTTP_Exception_403异常时,它不会welcome根据错误控制器重定向到应有的位置。我想我在这里错过了非常简单的事情。

我对其进行了调试,发现执行点没有到达我的控制器。所以这可能是Route中的一个问题。什么是正确的路线?真正的问题是什么?

0 投票
2 回答
2539 浏览

authentication - Kohana 身份验证登录

我正在尝试使用 kohana auth 模块,但出现错误:'调用未定义的方法 Model_User::unique_key()'

我使用代码:

当电子邮件和密码正常时会发生这种情况。你知道出了什么问题吗?

0 投票
1 回答
423 浏览

kohana - 响应 Cookie 未在 Kohana 中设置

我正在尝试从 Kohana 3.2 中外部请求的响应中提取 cookie 的值

现在在我上面的示例中,来自“http://myurl”的服务器响应正在设置 cookie cookie。事实上,如果我这样做,print_r($response->headers());我可以看到在 set-cookie 标头中设置的 cookie。

但是,当我只是尝试从中访问 c​​ookie 时,$response->cookie('cookie');我什么也得不到。

有什么我做错了吗?