×ðÁú¿­Ê±¹ÙÍøµÇ¼

laravel ÅÌÎÊ×÷ÓÃÓò

laravelÖеÄÅÌÎÊ×÷ÓÃÓòÊÇÒ»ÖÖºÜÊÇÖ÷ÒªµÄ¹¦Ð§ £¬Ëü¿ÉÒÔÈÃÄãÔÚÄ£×ÓÖнç˵һЩ³£ÓõÄÅÌÎÊÒªÁì £¬ÒÔ±ãÔÚÕû¸öÓ¦ÓÃÖоÙÐи´Óá£ÕâЩÅÌÎÊ×÷ÓÃÓò¿ÉÒÔÊÇÈ«¾ÖµÄ£¨ÊÊÓÃÓÚÕû¸öÄ£×Ó£© £¬Ò²¿ÉÒÔÊǾֲ¿µÄ£¨Ö»ÊÊÓÃÓÚ¸ÃÄ£×ÓµÄij¸öÒªÁìÖУ©¡£

ÔÚ±¾ÎÄÖÐ £¬ÎÒÃǽ«ÏÈÈÝ Laravel ÖеÄÅÌÎÊ×÷ÓÃÓòµÄ½ç˵¡¢Ê¹ÓÃÒÔ¼°Ò»Ð©Ó¦¸Ã×¢ÖصÄÊÂÏî¡£

ÅÌÎÊ×÷ÓÃÓòµÄ½ç˵

ÅÌÎÊ×÷ÓÃÓòÊÇÒ»¸öÄäÃûº¯Êý £¬ËüÎüÊÕÒ»¸ö $query ²ÎÊý £¬¸Ã²ÎÊýÊÇÒ»¸ö Eloquent ÅÌÎʹ¹½¨Æ÷ʵÀý¡£ÔÚÕâ¸öÄäÃûº¯ÊýÖÐ £¬Äã¿ÉÒÔ¶Ô¸ÃʵÀý¾ÙÐÐһЩÅÌÎʲÙ×÷ £¬ÀýÈçÌí¼Ó where ×Ӿ䡢order by ×Ó¾äµÈ¡£

ÒÔÏÂÊÇÒ»¸ö»ù±¾µÄÅÌÎÊ×÷ÓÃÓò½ç˵ʾÀý£º

public function scopePublished($query)
{
    return $query->where('status', '=', 'published');
}

µÇ¼ºó¸´ÖÆ

ÔÚÉÏÃæµÄʾÀýÖÐ £¬ÎÒÃǽç˵ÁËÒ»¸öÃûΪ published µÄÅÌÎÊ×÷ÓÃÓò £¬Ëü»áÔÚÅÌÎÊʱ×Ô¶¯Ìí¼ÓÒ»¸ö where ×Ó¾äÀ´¹ýÂËÒÑÐû²¼µÄÄ£×Ó¡£

ʹÓÃÅÌÎÊ×÷ÓÃÓò

ʹÓÃÅÌÎÊ×÷ÓÃÓòºÜÊǼòÆÓ £¬Ö»ÐèҪŲÓÃÄ£×ÓµÄÏìÓ¦ÒªÁì¼´¿É¡£ÀýÈç £¬ÈôÊÇÎÒÃÇʹÓÃÉÏÃæʾÀýÖÐµÄ published ÅÌÎÊ×÷ÓÃÓò £¬Ö»ÐèҪŲÓÃÈçÏ´úÂ룺

$posts = Post::published()->get();

µÇ¼ºó¸´ÖÆ

ÉÏÊö´úÂ뽫·µ»ØÒ»¸öÒÑÐû²¼µÄËùÓÐ Post ʵÀýÜöÝÍ¡£

ÈôÊÇÄãÐèҪת´ï²ÎÊýµ½ÅÌÎÊ×÷ÓÃÓòÖÐ £¬ÔòÖ»ÐèÔÚ¸ÃÒªÁìÖÐÌí¼Ó²ÎÊý¼´¿É¡£ÀýÈ磺

public function scopeCategory($query, $categoryId)
{
    return $query->where('category_id', '=', $categoryId);
}

µÇ¼ºó¸´ÖÆ

¸ÃÅÌÎÊ×÷ÓÃÓò¿ÉÓÃÓÚ¹ýÂËij¸öÌض¨Àà±ðµÄ²©¿ÍÎÄÕ¡£

$posts = Post::category(1)->get();

µÇ¼ºó¸´ÖÆ

ÉÏÊö´úÂ뽫·µ»ØÖÖ±ð ID Ϊ 1 µÄËùÓв©¿ÍÎÄÕ¡£

×¢ÖØ£ºÅÌÎÊ×÷ÓÃÓò¿ÉÒÔÁ´Ê½Å²Óà £¬ÒÔÊÇÄã¿ÉÒÔͬʱʹÓöà¸öÅÌÎÊ×÷ÓÃÓòÒÔ»ñÈ¡¸ü׼ȷµÄЧ¹û¡£

ÅÌÎÊ×÷ÓÃÓòµÄÈ«¾Ö½ç˵

ÈôÊÇÄãÏëÔÚÕû¸öÄ£×ÓÖÐʹÓÃÏàͬµÄÅÌÎÊ×÷ÓÃÓò £¬Ôò¿ÉÒÔ½ç˵ȫ¾ÖÅÌÎÊ×÷ÓÃÓò¡£Îª´Ë £¬Ö»ÐèÔÚÄ£×ÓÖÐŲÓà boot ÒªÁì £¬²¢Ê¹Óà static::addGlobalScope ÒªÁì½ç˵һ¸öÈ«¾ÖÅÌÎÊ×÷ÓÃÓò¼´¿É¡£

ÒÔÏÂÊÇÒ»¸ö»ù±¾µÄÈ«¾ÖÅÌÎÊ×÷ÓÃÓòʾÀý£º

protected static function boot()
{
    parent::boot();

    static::addGlobalScope('active', function (Builder $builder) {
        $builder->where('active', '=', 1);
    });
}

µÇ¼ºó¸´ÖÆ

ÉÏÃæµÄʾÀýÖÐ £¬ÎÒÃǽç˵ÁËÒ»¸öÃûΪ active µÄÈ«¾ÖÅÌÎÊ×÷ÓÃÓò £¬²¢½«ÆäÏÞÖÆΪ active ×ֶμ´ÊÇ 1 µÄ¼Í¼¡£

ÏÖÔÚ £¬µ±ÄãÔÚÈκÎÒªÁìÖÐÅÌÎʸÃÄ£×Óʱ £¬¸ÃÅÌÎÊ×÷ÓÃÓò¶¼»á×Ô¶¯ÉúЧ¡£

ÒƳýÅÌÎÊ×÷ÓÃÓò

ÓÐʱ¼äÎÒÃÇ¿ÉÄÜÐèÒªÒƳýÌض¨Ä£×ÓµÄÅÌÎÊ×÷ÓÃÓò¡£Laravel ÌṩÁË removeGlobalScope ÒªÁìÀ´×ÊÖúÎÒÃÇʵÏÖÕâÒ»µã¡£

ÀýÈç £¬¼ÙÉèÎÒÃÇÓÐÒ»¸öÃûΪ active µÄÈ«¾ÖÅÌÎÊ×÷ÓÃÓò £¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÒªÁìÀ´ÒƳýËü£º

$users = User::withoutGlobalScope('active')->get();

µÇ¼ºó¸´ÖÆ

ÉÏÊö´úÂ뽫·µ»Ø²»ÊÜ active ×÷ÓÃÓòÏÞÖƵÄËùÓÐÓû§¡£

×¢ÖØ£ºÈôÊÇÄúÏëÒƳýËùÓÐÈ«¾ÖÅÌÎÊ×÷ÓÃÓò £¬Ôò¿ÉÒÔʹÓà withoutGlobalScopes ÒªÁì¡£

$users = User::withoutGlobalScopes()->get();

µÇ¼ºó¸´ÖÆ

ÉÏÊö´úÂ뽫·µ»Ø²»ÊÜÈκÎÈ«¾ÖÅÌÎÊ×÷ÓÃÓòÏÞÖƵÄËùÓÐÓû§¡£

×ܽá

ÅÌÎÊ×÷ÓÃÓòÊÇ Laravel ÖÐÒ»¸ö¼«ÎªÇ¿Ê¢µÄ¹¦Ð§¡£Í¨¹ýʹÓÃÅÌÎÊ×÷ÓÃÓò £¬Äã¿ÉÒÔÀû±ãµØÔÚÕû¸öÓ¦ÓÃÖÐÖØÓó£ÓõÄÅÌÎʲÙ×÷ £¬²¢Ô½·¢ÇåÎúµØ×éÖ¯´úÂ롣ѧϰºÃÅÌÎÊ×÷ÓÃÓòµÄ׼ȷʹÓÃÒªÁì²»µ«¿ÉÒÔÌá¸ßÄãµÄÉú²úÁ¦ £¬Ò²¿ÉÒÔ×ÊÖúÄã¹¹½¨Ô½·¢½áʵµÄÓ¦Óá£

ÒÔÉϾÍÊÇlaravel ÅÌÎÊ×÷ÓÃÓòµÄÏêϸÄÚÈÝ £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È £¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ £¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢ £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢ £¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå £¬9:30-18:30 £¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ