CWIZ NOTE
laravel 保存到数据库的方法  有哪些 save insert create update 有区别吗 有大用 
save 方法
一般是 返回 true 如果是通过外键保存就是返回外键的对像

insert 应该是实例的方法吧 (好像是类方法)
create 是类方法
update 也是实例方法 
create() 方法,是新建一条数据,然后返回这个实例,拿到实例后还可以进行修改并保存等工作,
$user = User::create($loginuserdata); // $loginuserdata 这是键值对数组

$insertedId = $user->id; //这就可以得到 $user的id了
insert() 方法,就是插入一条数据,返回新数据的 id 值,并不会返回实例。
 insert 应该是实例的方法吧
create 是类方法
update 也是实例方法
【英雄】灬破丨曉丶 (2484461866) 2016/4/23 14:20:55
insert 可以插入多条,create 只能一条 好像也有这区别 




1) save 方法   这种方法 能插入数据库 也能更新数据库
public function update(Request $request,$id)
{
    $this->validate($request, [
        'title' => 'required|unique:pages,title,'.$id.'|max:255',
        'body' => 'required',
    ]);

    $page = Page::find($id);
    $page->title = Input::get('title');
    $page->body = Input::get('body');
    $page->user_id = 1;//Auth::user()->id;

    if ($page->save()) {
        return Redirect::to('admin');
    } else {
        return Redirect::back()->withInput()->withErrors('保存失败!');
    }
}
save 方法 使用的时候 不必在模型中指定 可以 填充的字段 自动保存 updated_at 和 created_at
  1. updated_at: "2015-08-02 00:34:40",
  2. created_at: "2015-08-02 00:34:40",
save 是引用指向的还是本身对象
public function update(Request $request,$id)
{
    $this->validate($request, [
        'title' => 'required|unique:pages,title,'.$id.'|max:255',
        'body' => 'required',
    ]);

    $page = Page::find($id);
    $page->title = Input::get('title');
    $page->body = Input::get('body');
    $page->user_id = 1;//Auth::user()->id;

    if ($page->save()) {
        return Redirect::to('admin');
    } else {
        return Redirect::back()->withInput()->withErrors('保存失败!');
    }
}
2)create 方法
public function store()
{
    // create里的参数是数组
    if (Comment::create(Input::all())) {
        return Redirect::back();
    } else {
        return Redirect::back()->withInput()->withErrors('评论发表失败!');
    }
}




//  create里的参数是数组
>>> $article = App\Article::create(['title' => 'New Article', 'body' => 'New Body', 'published_at' => Carbon\Carbon::now()]);
Illuminate\Database\Eloquent\MassAssignmentException with message 'title'

// 上面会抛出 MassAssignmentException 异常
所以 create 方法 使用的时候 必须在模型中指定 可以 填充的字段 ($fillable  包含,  $guarded 排除
而 save 方法 ($fillable,$guarded 对于 save 方法却不起作用 )
自动保存 updated_at 和 created_at
  1. updated_at: "2015-08-02 00:34:40",
  2. created_at: "2015-08-02 00:34:40",

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model {

    protected $fillable = [
        'title',
        'body',
        'published_at'
    ];

}

$guarded 是排除 与 $fillable 相反 

4)insert 也是数组吧


public function run()
   {
      $data = array(
         array('people_id' => '1', 'movie_id' => '1', 'job' => '演员'),
         array('people_id' => '2', 'movie_id' => '1', 'job' => '演员'),
         array('people_id' => '3', 'movie_id' => '1', 'job' => '演员'),
         array('people_id' => '4', 'movie_id' => '1', 'job' => '演员')

      );

      DB::table('movie_people')->insert($data);
   }
}

5)delete
DB::table('authors')->delete();

public function destroy($id)
{
$page = Page::find($id);
$page->delete();
 
return Redirect::to('admin');
}

6)update 这种方法 能更新数据库



update 是引用指向的还是本身对象 update(参数是数组)
  1. public function update(Article $article, ArticleRequest $request){
  2. $article->update($request->all());
  3. $this->syncTags($article, $request->input('tag_list'));
  4. return redirect('articles');
  5. }


$input = [    
    'title'=>'test 6 title',
    'content'=>'test content 6',
    'cat_id'=>1,
    'views'=>200,
    'user_id'=>1
];
$post = Post::find(6);
if($post->update($input)){
    echo '更新文章成功!';
    dd($post);
}else{
    echo '更新文章失败!';
}

7) insert 好像是二维数组 批理插入 保存

$data = array(
    array('orig_url'=> 'http://3g.4000512126.com/test.html', 'user_id'=>1, 'local_url'=>'http://mygn.4006363560.com/a/4000512126/test.html',   'xuanfu_tu'=>'/uploads/0dd04725d20a1a77f44bb61b8d2dfb3e.jpg', 'bottombu_tu'=>'', 'xuanfu_tel'=>'4000512126', 'xuanfu_url'=>'http://4000512126.com', 'bottombu_tu'=>'', 'bottombu_url'=>'http://4000512126.com', 'bottombu_tel'=>''), 
array('orig_url'=> 'http://3g.4000512126.com/test.html', 'user_id'=>1, 'local_url'=>'http://mygn.4006363560.com/a/4000512126/test.html', 'xuanfu_tu'=>'/uploads/f54f98a3230af7a41b4e8998483318e2.jpg', 'bottombu_tu'=>'', 'xuanfu_tel'=>'4000512126', 'xuanfu_url'=>'http://4000512126.com', 'bottombu_tu'=>'', 'bottombu_url'=>'http://4000512126.com', 'bottombu_tel'=>'')
)

 DB::table('nets')->insert($data);