任务管理内容

任务 Task
artisan make:model Task -m -m 生成数据库迁移文件
工程 Project
artisan make:model Project -m
用户 User
理解需求:
一个用户可以拥有多个Project
一个用户通过Project可以拥有多个Task
User.php

public function projects() {
    return $this->hasMany('App\Project');
}
public function tasks() {
    return $this->hasManyThrough('App\Task','App\Project');
}

一个Project必定属于一个用户
一个Project拥有多个Task
Project.php

public function user() {
    return $this->belongsTo('App\User');
}

public function tasks() {
    return $this->hasMany('App\Task');
}

一个任务Task必定属于一个Project
Task.php

public function project() {
    return $this->belongsTo('App\Project');
}

Laravel模型关系表

定义关联关系 定义 调用
一对一 hasOne User::find(1)->phone
一对多 hasMany App\Post::find(1)->comments
多对多 belongsToMany App\User::find(1) foreach ($user->roles
远层的一对多 hasManyThrough
多态关联 morphMany
多对多的多态关联 morphToMany

数据表设计与数据表迁移

 public function up() {
   Schema::create('tasks', function (Blueprint $table) {
       $table->increments('id');
       $table->string('title');
       $table->integer('project_id');
       $table->boolean('completed');
       $table->timestamps();
   });
}

设计数据表之后执行
php artisan migrate

artisan常用命令

  1. artisan make:auth 生成登录注册代码
  2. artisan make:model Project -m 生成model
  3. artisan migrate 生成数据表
  4. artisan migrate:rollback 撤销刚刚生成的数据表
  5. artisan make:controller ProjectController 生成Controller 加上–resource可生成基础的方法 增删改查
  6. artisan make:request CreateProjectRequest 验证表单数据
  7. artisan make:policy 授权策略文件名称 生成授权策略文件

laravel组件安装

Form & Html 组件

composer require "laravelcollective/html":"^5.4.0"

图片上传组件
  1. composer require intervention/image
  2. 在config/app.php里
    $providers里添加
    Intervention\Image\ImageServiceProvider::class

  3. $aliases里添加
    'Image' => Intervention\Image\Facades\Image::class

  4. php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5" 生成image的配置文件
添加语言包

1.使用composer require "overtrue/laravel-lang:~3.0"
2.config/app.php

<?php

return [
    .
    .
    .
    'locale' => 'zh-CN',
    .
    .
    .
];