Laravel5.1 模型--創建與修改


上次我們了解了如何查詢模型數據,今天我們來看看如何創建一個模型,

使用save創建模型

save方法很簡單,看一個例子就明白了:

    // 創建一個模型
    $article = new \App\Models\Article();

    // 設置模型的值
    $article->title = '標題';
    $article->id = 60;
    $article->content = '一些內容';
    $article->author = 'larger K';

    if ($article->save()){
        echo '添加成功';
    }else{
        echo '添加失敗';
    }

這樣就可以創建一個模型 並把數據插入了數據庫中,save方法也可以接受一個關聯數組,再次就不做演示了。

 

批量賦值--create方法

這是我們最常使用的一種方法,因為它相比較於save更加簡潔方便,create方法是批量賦值的,如果要使用批量賦值 需要在模型中聲明白名單(fillable)或黑名單(guarded),當然 我們可以只聲明白名單或只聲明黑名單即可,因為非黑即白。

  • fillable數組:聲明有哪些屬性是可以批量賦值的。
  • guarded數組:聲明哪些數組是不可以批量賦值的。
class Article extends Model
{
    // 聲明哪些屬性是可以批量賦值的
    protected $fillable = ['title','content','author'];
}

如果我們在某種情況下不得不修改白名單以外(即黑名單)的屬性 那怎么辦呢? 這時我們只能使用save方法了。

 

下面我們來模擬一個環境,我們需要接受html表單提交過來的數據 並創建模型 插入數據庫:

    public function store(Request $request)
    {
        // 表單數據都在 Request中 關於Request以后會普及到
        Article::create($request->all());
    }

上面的例子只需要一行代碼就可以完成插入工作。

 

使用save進行更新數據

save方法不僅僅可以插入數據,也可以更新數據:

    // 首先通過id查找數據
    $article = \App\Models\Article::findOrFail(60);

    // 設置要更新的值
    $article->title = '新的標題';
    $article->id = 21;
    $article->content = '新的內容';
    $article->author = 'ASK';

    if ($article->save()){
        echo '更新成功';
    }else{
        echo '更新失敗';
    }

 

批量賦值--update

相對應create而言,另一個批量賦值是專門用來更新的方法:update,update也是批量賦值方法 需要注意白名單和黑名單

    public function update(Request $request, $id)
    {
        // 獲取模型數據
        $article = Article::findOrFail($id);
        $article->update($request->all());
    }

更加簡潔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM