設定那些欄位可以被更新
在Models裡面增加檔案
在terminal下指令php artisan make:model CartItem
自動新增顯示
裡面的程式碼:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class CartItem extends Model
{
use HasFactory;
}
下指令讓新增檔案可以快速被讀取composer dump-autoload
下指令php artisan tinker
撈出全部資料 下指令CartItem::all()顯示
設定那些欄位可以更新’’表示都可以更新protected $guarded = [''];
設定那些欄位不顯示 protected $hidden =['updated_at'];
數量*10
設定其他關聯php artisan make:model Product
再設定 php artisan make:model Cart
設定CartItem 一對多的關係
修改後的程式碼:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class CartItem extends Model
{
use HasFactory;
protected $guarded = [''];
protected $appends = ['current_price'];
public function getCurrentPriceAttribute()
{
return $this->quantity * 10;
}
public function product()
{
return $this->belongsTo(Product::class);
}
public function cart()
{
return $this->belongsTo(Cart::class);
}
}
```
--------------
Cart裡面去設定雙向功能
原來:

修改後:

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Cart extends Model
{
use HasFactory;
public function cartItems()
{
return $this->hasMany(CartItem::class);
}
}
------------
Product裡面去設定雙向功能
原來:

修改後:

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
public function cartItems()
{
return $this->hasMany(CartItem::class);
}
}
----------------
我們明天見~