iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0

寫到一半發現真的太多了,所以還是把內容拆成兩天來呈現,我自己有個地方不甚了解,所以先說明一下我目前的感覺,感覺上許多新增的行為會在controller呼叫新增,然後其他行為才在model中做。(這部分我還需要研究一下,但礙於進度,依然GOGOGO)

如果是跟著做的朋友,請先將原本的controller刪除,也記得把route有關於user的也刪除。
接下來輸入
php artisan make:controller UserController –resource
建立一個有基礎CRUD 會需要用到的function

如果 php artisan make:controller UserController –resource 卻報錯Invalid route action,可以先去route刪除一下有關user的部分看看。

這時候我們來複習一下上一篇的
在controller中加入
use App\UserTable;

在controller index中加入

    public function index()
    {
        $Users = UserTable::all();

		foreach ($Users as $User) {
			echo $User->name."<br>";
		}

    }

然後在route中加入
Route::get('/user', 'UserController@index');
此時執行看看
http://localhost:8000/user

下面來直接看看有哪些部份好了~

$post->title = 'this is title save demo';
$post->text = 'this is text save demo';
$post->save();

新增資料

使用new來產生Model實體

$post = new \app\Post;
$post->title = 'my post title';
$post->save();

使用Facade的create來新增資料

Model::create($array)

例如

$post = \App\Post:create([
'title' => 'this is title',
'text' => 'text',
]);

model的fillable屬性與guarded

資料刪除(delete)
$model->delete()
例如

$post = \App\Post::find(1);
$post->delete();

使用Facade的刪除方法
Model::destroy(PK);

資料更新(updata)
$model->updata($array)
例如

$post = \App\Post::find(1);
$post->update([
'title' => 'this is title2',
'text' => 'text2',
]);

資料儲存

$model->save()

$post = \App\Post::find(1);

看到這裡的時候,我以為CRUD都會在Model處理,但我現在的感覺是Controller會負責select的部分,而其他的部分才是在Model中弄,至於是否是這樣也只能繼續往下研究,gogogo~

治療淺眠最好的方式 - 生個小孩


上一篇
DAY23: ORM續談 - OOP
下一篇
DAY25: 逐步建構一個RESTful API -1
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言