1myPersimmon学习:laravel项目

本文详细介绍Laravel中Eloquent ORM的使用方法,包括数据查询、分页处理、缓存操作及时间函数应用等核心功能,并展示了如何通过模型管理数据库记录。

归类用法

$links = Links::all();

$configs = Options::all(array('id', 'option_name', 'option_value'));

$data = Categorys::find($id);

 

 

$category = Categorys::where('category_flag', $flag)->first();

$post = Posts::where('flag', $flag)->first();

$posts = Posts::OfType('post')->orderBy('id', 'desc')->take(15)->get();

$recent_posts = Posts::orderBy('created_at')->take(5)->select('id', 'title', 'created_at')->get();

 

 

 

$posts = $category->posts()->paginate(15);//关系,这个分类的文章15个,$this->belongsTo(‘Categorys::class’) ,$this->belongsToMany(‘Tags::class’);

 

$posts = Posts::orderBy('id', 'desc')->paginate(15);

Posts::increment('views', 1);

 

$post->categories;

$post->tags;

$post->user;

 

cache()->forget('options');

$optionsList = Options::orderBy('id')->select('option_name', 'option_value')->get()->toArray();

$data = Tags::where('tags_name', 'like', '%' . $keyword . '%')->get();

 

 

$categorys = Categorys::firstOrCreate(['category_name' => $category]);

$post = Posts::count();

 

 

$categorys->save();

 

//软删除

$result = Categorys::whereIn('id',$request->ids)->delete();

$result = Posts::withTrashed()->whereIn('id', $request->ids)->restore();

 

 

特殊函数

$key = hash('sha256', $flag);

 

Cache

$post = cache($key);

 

cache([$key => $post], $this->expiresAt);

cache()->forget('options');

$optionsList = Options::orderBy('id')->select('option_name', 'option_value')->get()->toArray();

 

 

Cache::has('rss-feed')

 

Cache::add('rss-feed', $rss, $expiresAt);

 

 return Cache::get('rss-feed');

}

 

时间函数

{{$post->created_at->format('c')}

$this->expiresAt = Carbon::now()->addMinutes(1440);

$expiresAt = Carbon::createFromTimestamp(strtotime($options->updated_at))->addMinutes(10);//获取距离当前时间函数

 

$ts = Carbon::yesterday()->timestamp;

//人性化显示时间

echo Carbon::createFromTimestamp($ts)->diffForHumans();

上面的打印结果是1天前

 

 Carbon::createFromTimestamp(strtotime($date))->addDays(30);

carbon->toDateString() <= date('Y-m-d')

 

 

 

跳转函数

 <a href="{{ route('tags',[$tag->tags_flag]) }}"

 

->url(url('/')) //里面放的是路由值

->url(url('/post/' . $post->flag))

$data['link'] = route('posts', [$post->wp_slug]);//名字

 

 

响应

return response($rss)->header('Content-type', 'text/xml; charset=UTF-8');

return response($map)->header('Content-type', 'text/xml');

return response()->json($lists);

请求

$rows = intval($request->rows) > 0 ? $request->rows : 20;

$request->ip();

 

public function ip()
{
return $this->getClientIp();
}

 

验证

$this->validate($request,[
    'category_name' => 'required',
    'category_flag' => 'required|flag'
]);

 

 

 

模型

 

 

Category(多对一)

public function posts()

{

    return $this->hasMany(Posts::class,'category_id非本表’);

}

 

 

posts(多对多)

public function tags()

{

    return $this->belongsToMany(Tags::class,'posts_tags','');

}

 

 

protected $hidden = [

    'password', 'remember_token',

];

 

 

 

//

public function scopeOfCategory($query, $category_id)

{

    if (intval($category_id) > 0) {

        return $query->where('category_id', $category_id);

    }

    return $query;

}

 

public function scopeOfTitle($query, $title)

{

    if (!empty($title)) {

        return $query->where('title', 'like', '%' . $title . '%');

    }

    return $query;

}//使用$listData = Posts::OfCategory($request->category_id)->OfTitle($request->q)->paginate($rows);

 

 

public function scopeNothidden($query)

{

    return $query->where('option_status', '!=', 'hidden');

}//使用$listData = Options::nothidden()->get();

 

 

 

 

 

 

 

 

2  build做方法名称不错

buildRssData

transform  //$listData = $this->transform($listData);

public function authenticate($email, $password)//认证

Trash垃圾箱

 

 

 

转载于:https://www.cnblogs.com/keiweila/p/7841725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值