我正在为学校管理系统创建系统,并提出附加的数据库模式.
数据库图http://oi40.tinypic.com/15x21ig.jpg
以下是系统的工作原理:
我是数据库规范化的初学者,如果有人能给我一些提示,如果数据库看起来不错,我会很高兴.
编辑:
此外,只有一个登录点.在上述情况下,在登录期间,用户必须从下拉列表中选择用户类型.该下拉选择将用于查询相应的表以登录系统.另一种方法是使用一个公用user表,它将存储user_id, email, password, last_login_date, last_login_ip但会将其他细节存储在各自的表中,例如student, parent, teacher.那么,实现它的首选/正确方法是什么?
mysql database-design relational-database database-schema database-normalization
我有一个控制器,有一个方法.代码在方法中太长了,所以我把一些代码放在其他私有方法中,这样方法就变得可以理解,而不会弄乱它.
现在,当我从URL访问公共方法时,根据参数,它将调用特定的私有方法来处理作业.处理作业后,我想重定向到URL,但重定向不起作用.
我的代码示例如下:
class SomeClass extends BaseController{
public function getMethodName()
{
//check the params and choose a private method to call
$this->processJob();
}
private function processJob()
{
//process the job and redirect at the end
return Redirect::to('some/url');
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,上面的重定向不起作用.这是为什么?在Codeigniter中,当你使用redirect它时,它可以在调用它的地方工作.
如果上面的代码示例不是正确的方法,那么如果有人能告诉我如何完成它,我将不胜感激.谢谢.
Laravel看起来像一个非常好的PHP框架,捆绑了一个很好的ORM(Eloquent).然而,laravel文档是缺乏的东西.文档中只提供基本内容.
无论如何,当涉及到超过2个模型的Eloquent和模型关系时,我遇到了问题.
例如,我有以下场景.
我有四个数据库表,即:users,locations,users_locations,packages.模型/表格之间的关系如下:
用户可以属于许多位置,反之亦然.一个位置可以有很多包.
我相应的模型关系如下:
//User Model:
public function locations(){
return $this->belongsToMany('Location', 'users_locations', 'user_id', 'location_id');
}
//Location Model:
public function users(){
return $this->belongsToMany('User', 'users_locations', 'location_id', 'user_id');
}
public function packages(){
return $this->hasMany('Package', 'location_id');
}
//Package Model:
public function location(){
return $this->belongsTo('Location', 'location_id');
}
Run Code Online (Sandbox Code Playgroud)
我想做什么?:我想让所有的软件包都属于用户.用户属于位置,而包也属于位置.因此,从属于用户的所有位置,我想要检索属于用户的那些位置的包.我还希望对结果集进行分页.
我尝试过以下方法:
//get the logged in user ID
$userId = Auth::user()->id
//first get all the locations of the user
$locations= User::with('locations')->find($userId)->locations;
//declare an empty array to store …Run Code Online (Sandbox Code Playgroud) 我正在使用Ion Auth作为我的codeigniter应用程序,除了一件事,一切似乎都很好.
我需要显示一个用户列表以及他们所在的组.如何在不创建自己的模型和查询的情况下检索特定用户的组ID.
$this->ion_auth->user($id)->row(); 不检索组ID.
我正在构建一个允许用户上传照片的PHP应用程序.为了使其易于管理,文件夹最多应有5000张照片.每张上传的照片都将在数据库中分配一个ID,照片将重命名为ID.
如何检查某个文件夹是否有5000张照片?我应该检查照片表中最后一行的ID吗?
文件夹应逐步命名.例如.folder_1,folder_2等等.
我建议的步骤:
或者有更好的方法吗?
我需要为用户存储积分。每个点都将存储在带有日期的单独行中。现在,当用户打开他的页面时,它将显示他的总积分。
现在要计算总分,我可以想到以下选项:
每次用户打开他的页面时,计算他在该一张 mysql 表中的所有积分的总和并将其显示给他
为总点数创建另一个表,每当添加一个点时,计算总和,并将以前的总和值替换为新的总和值。当用户打开他的页面时,它仅访问该总和表中的一行并向他显示该值
创建一个每天晚上运行的 CRON 作业来计算用户的总积分并将其存储在 (2) 中创建的单独表中
对我来说,选项 2 看起来很有效,但只是想知道这样的事情通常是如何完成的?
我有以下PHP函数:
function func_name($name = 'John', $country = 'USA')
{
do something;
}
Run Code Online (Sandbox Code Playgroud)
现在,我尝试将变量传递给函数,如下所示:
func_name($name = 'Jack', $country = 'Brazil');
我知道,我们可以很容易地通过它, func_name('jack', 'Brazil');但是上面的功能只是一个例子。实际的函数大约有20个参数,并且都具有默认值,有些根本没有传递给函数
所以我想知道是否适合作为参数传递参数 func_name($name = 'Jack', $country = 'Brazil');
我有以下格式的文本:
123232.23
43438282.00
我想将它们提取并存储为两个变量$ dollar和$ cent.
第一个文本的预期结果如下:
$dollar = '123232'
$cent = '23'
如何在PHP 中使用正则表达式实现这一点.