1. 程式人生 > >laravel 使用小功能總結

laravel 使用小功能總結

模型

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)