在我的项目中,我有用户表,我想存储每个用户的上传文件。 我的数据库方法 - 不是每个用户直接按行存储文件,我想要以下设计:
+-----------+-------------+--------------+
| user_id | user_name | folder_path |
+-----------+-------------+--------------+
| U123 | Sherlock | xyzdsalfb |
+-----------+-------------+--------------+
此处数据库中的每个用户行都包含每个用户的专用文件夹/存储库的链接/路径,以便只有该用户才能使用登录访问它。 然后我需要在用户仪表板页面的列表中显示用户上传的文件。
当前的数据库设计是:
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->increments('id'); //we need enroll number too
$table->string('name');
$table->string('enroll_no')->unique(); //we'll change this to bigInteger
$table->string('course');
$table->string('majors');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
怎么做。
答案 0 :(得分:2)
您需要创建新的迁移以向表中添加列。 Per the docs首先运行:
php artisan make:migration add_your_columns_to_users_table --table=users
这将生成您的迁移。您需要查看Laravel文档,以便使用迁移添加正确的列来向数据库添加列:
http://laravel.com/docs/5.0/schema#adding-columns
为folder_path
添加列的快速示例如下:
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
public function up()
{
Schema::table('users', function(Blueprint $table)
{
$table->string('folder_path');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function(Blueprint $table)
{
$table->dropColumn('folder_path');
});
}
}