我有一个3级模型结构:
Model_Race has_many Model_Class
Model_Class has_many Model_Driver
现在,想象一下Model_Class和Model_Driver有一个order_index属性来保持它们的顺序.
是否有一种干净的方式来获得一个Race并让Class和Driver的排序正确?
我有选择查询数据库的列表要求
这是fuelphp中的查询功能数据库
我的问题
当我使用ORM Mapper时,我对灵活点有疑问.我已经读过这个,这说ORM不能通过表的字段选择,ORM可以获取表中的所有列,如果连接表将传递大量数据,但ORM是高安全性我现在不快或也许有些人可以解释,但我认为这将是缓慢的,因为ORM获取所有数据,只是我的意见.
当我使用Direct Query时,我的安全性有问题,因为可以使用SQL注入,但使用Direct Query我们可以自定义查询数据库,我认为速度会比ORM增加.
当我使用查询构建时我有问题,当我想加入两个或更多的表时,这个功能仍然在fuelphp中不可用,但是使用查询构建器安全性比直接查询更好,我认为速度会增加.
好的,这只是我的意见,实际上我想使用ORM因为我比其他人更喜欢安全性,这是非常重要的我认为.
我的问题
有没有人有使用FuelPHP将一系列文件上传到Web服务器的经验?
我当前的设置从表单向数据库添加内容,但此时我也想处理图像 - 所以基本上在提交表单时将它们移动到我的Web服务器.
这样做很简单吗?
我的控制器中有'action_add()'方法,但不知道如何更新它以遍历所有文件字段并移动文件.
public function action_add()
{
$val = Model_Article::validate('add_article');
if ($val->run())
{
$status = (Input::post('save_draft') ? 0 : 1);
if ( ! $val->input('category_id'))
{
$category_id = null;
}
else
{
$category_id = $val->validated('category_id');
}
$article = new Model_Article(array(
'user_id' => $this->user_id,
'category_id' => $category_id,
'title' => $val->validated('title'),
'body' => $val->validated('body'),
'published' => $status,
));
if ($article->save())
{
Session::set_flash('success', 'Article successfully added.');
}
else
{
Session::set_flash('error', 'Something went wrong, '.
'please try again!');
}
Response::redirect('articles/add');
}
$this->template->title …Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Fuel,我正在尝试使用该auth软件包实现基本用户身份验证和注册.
我有一个控制器auth.php,我有action_login,action_register并且action_logout功能.这些函数(当前)只调用生成登录和注册过程的html表单的视图(但它们当前没有做任何事情).
我查看了文档,并尝试在线查找一些教程,但似乎缺乏.我需要用户模型吗?我需要使用orm吗?我有用户表,我用它生成oil.我是否需要安全令牌才能使用表单?写这个最简单的方法是什么?
我有一个action_register试图注册新用户的功能.如果成功,我希望将用户转发到登录表单(通过此处显示action_login).不过,我也想送$message并$message_type给说像"你的账户已经建立,请登录"登录视图.
什么是最好的方法.最好的,我的意思是可维护,清洁和安全.
我的想法到现在为止:
action_login并重定向的URL .action_login一如既往地渲染.我在我的modul(命名管理员)路径(adminpanel\views\myview.php)中创建了一个名为myview.php的视图,因为我使用了以下代码但是资源未加载
<?php
use Fuel\Core\Asset;
use Fuel\Core\Session;
?>
<html>
<head><title>Admin Panel</title>
<?php Asset::js(array('jquery.js','test.js'));?>
</head>
<body>
<?php echo Session::get('my');?>
<input type="button" value="Call Designer Controller" >
</body>
Run Code Online (Sandbox Code Playgroud)
这里test.js和jquery.js无法正常工作,我在浏览器中没有收到任何错误
我正在使用FuelPHP,并且环境信息无法通过框架htaccess文件传递到我的命令行脚本.我读到我可以通过修改我的php.ini文件来设置相同的值.我在我的localhost上使用XAMPP,但它似乎没有工作 - getenv('FUEL_ENV')什么也没有返回.我错过了什么.
SetEnv FUEL_ENV production
Run Code Online (Sandbox Code Playgroud) 我只想弄清楚FuelPHP如何处理模块和应用程序目录中的语言文件.它是否将所有相同名称的数据合并到一个语言数组中,或者如果它在应用程序中找到它,它会停在那里吗?
如果我要在应用程序和模块中创建一个foo.php语言文件,我是否可以访问这两个文件中的所有内容或只是应用程序中的文件?
我有一个返回单个结果的查询,我想知道是否有办法访问该结果的属性而不必循环遍历它,因为我将其限制为单个结果.
这是我的查询:
$user = Model_User::find()
->where('email_address', Input::post('email_address'))
->where('password', Input::post('password'))
->limit(1);
Run Code Online (Sandbox Code Playgroud)
我发现访问结果的唯一方法是运行get()方法$user并循环遍历结果,但我认为我遗漏了一些东西,并且有一种更简单的方法可以返回$user作为我可以使用的单个对象,因为我我把它限制在一个结果.
最有效的方法是什么?
我有一个网站已经完成,但未来的多语言支持未实现,
我正在使用fuelphp框架来生成我的网站.我已经在fuelphp中检查了这个文档http://docs.fuelphp.com/classes/lang.html中的语言配置,但我仍然对如何实现该功能感到困惑.
我的问题是: