laravel 使用小功能總結
阿新 • • 發佈:2018-12-12
模型
protected $table = 'goods'; //定義表明
protected $guarded = []; //黑名單 定義拒絕操作的欄位
protected $fillable = []; //白名單
public $timestamps = false; //是否自動更新時間戳欄位
protected $connection = 'mysql_branch'; //定義連結的資料庫
連結其他資料庫時
DB::connection(‘mysql_branch’)->table(‘table’)->get()
獲取插入的id
User::insertGetId([]);
配置其他資料庫時:
//config/database.php下貼上一個配置型別,例如位置一個mysql_old; 'mysql_old' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('Old_DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => 'InnoDB', ],
模板
//模板中解析html 標籤
{!! !!}
驗證
use App\Http\Requests\KillRequest; public index(KillRequest $request){ } //在KillRequest驗證中寫驗證規則, class KillRequest extends BaseFormRequest { public function rules() { return [ 'coverimage' => 'required', 'goodstitle' => 'required', ]; } //定義出錯後的message資訊: public function messages() { return [ 'coverimage.required' => '主封面必填', 'goodstitle.required' => '商品標題必填', ]; } }
輔助函式
str_limit($value, $limit = 25, $end = '...'); //擷取固定固定長度的字串,剩餘的用...代替
$results->total()
$results->count()
子查詢
$goodsQuery = DB::table('goods')
->leftjoin('goods_shop', 'goods.id', '=', 'goods_shop.gid')
->leftjoin('goods_sales', 'goods.id', '=', 'goods_sales.gid')
->leftjoin('goods_coupon', 'goods.id', '=', 'goods_coupon.gid')
->leftjoin('users', 'goods.userid', '=', 'users.id')
->select('users.name as username',
'goods.id', 'goods.goodslink', 'goods.goodstitle', 'goods.coverimage', 'goods.commissiontype', 'goods.commissionrate', 'goods.copywriting', 'goods.copywritingimage', 'goods.origprice', 'goods.voucherprice', 'goods.created_at', 'goods.goodstype',
'goods_coupon.couponlink', 'goods_coupon.coupontotal', 'goods_coupon.couponremain', 'goods_coupon.couponmoney', 'goods_coupon.reduceprice',
'goods_sales.monthsales', 'goods_sales.increment', 'goods_sales.onehoursales', 'goods_sales.twohoursales', 'goods_sales.todaysales',
'goods_shop.shoptype', 'goods_shop.shopname', 'goods_shop.activitytype')
->orderBy('id', 'desc')
->limit(100); //獲取前100條資料
$data = DB::table(DB::raw("({$goodsQuery->toSql()}) as goodsQuery"))
->orderBy('id', 'desc')
->paginate(env('LIMIT'));//從中拿去10條
模型中進行多條件不確定條件查詢
$query = User::select('phone');
$a=request('phone');
isset($a) && !empty($a) && $query->where('phone', $a);
$b=request('name');
isset($b) && !empty($b) && $query->where('name', $b);
$data= $query->paginate(20)