尊龙凯时人生就是搏

laravelËÑË÷ɾ³ý

laravelËÑË÷ɾ³ýÊÇÒ»ÖַǾ­³£¼ûµÄ¿ª·¢ÐèÇó£¬ÌØÊâÊÇÔÚ¿ª·¢ÄÚÈÝÖÎÀíϵͳ»òµç×ÓÉÌÎñÍøÕ¾µÈÐèÒª¶ÔÊý¾Ý¾ÙÐÐcrud²Ù×÷µÄÓ¦ÓÃÖС£laravel×÷Ϊһ¸öÊ¢ÐеÄphp¿ò¼Ü£¬ÌṩÁ˸»ºñµÄ¹¤¾ßºÍapi£¬Ê¹µÃÕâ¸öÀú³Ì±äµÃºÜÊǼòÆÓ¡£

Ò»¡¢LaravelËÑË÷

ÔÚLaravelÖÐʵÏÖËÑË÷¹¦Ð§Í¨³£ÐèÒªÒÔÏ°취:

×°ÖÃLaravel Scout

Laravel ScoutÊÊÓÃÓÚ¶ÔËÑË÷Ч¹û¾ÙÐзÖÀàºÍÓÅ»¯µÄÓ¦Óã¬Scout±ÈÕÕÔ­ÉúµÄËÑË÷ÅÌÎÊËÙÂʸü¿ì£¬ÅÌÎÊ×é¼þ¸üÈÝÒ×±»Öع¹¡£Laravel ScoutʹÓÃElasticsearch»òAlgoliaÀ´Ö´ÐÐËÑË÷£¬ÕâЩËÑË÷ÒýÇæÊǺÜÊÇÊ¢ÐеÄ£¬²¢ÓµÓÐÆÕ±éµÄÉçÇøÖ§³Ö¡£

Êý¾Ý¿âǨáã

ÔÚLaravelÓ¦ÓÃÖн¨ÉèModel¡¢ControllerºÍÊý¾Ý¿âǨáãÎļþµÄ»ù´¡ÉÏ£¬ÎÒÃÇÐèÒª¾ÙÐÐËÑË÷Ïà¹ØµÄÊý¾Ý¿âǨáã²Ù×÷¡£

ÀýÈ磬ÔÚÓû§Êý¾Ý¿âÖÐÎÒÃÇ¿ÉÒÔÌí¼ÓÒ»¸ö¡°searchable¡±ÁУº

Schema::table('users', function (Blueprint $table) {
    $table->boolean('searchable')->default(false);
});

µÇ¼ºó¸´ÖÆ

ÕâÀïÎÒÃÇ¿ÉÒÔ¸øsearchableÉèÖÃĬÈÏÖµfalse£¬¼´Óû§²»Ï£Íû±»ËÑË÷¡£Ò²¿ÉÒÔÉèÖÃÔÚÓû§ÐÅÏ¢±à¼­ÍêÖ®ºó£¬½«searchableÉèÖÃΪtrue£¬Óû§¾Í¿ÉÒÔ±»ËÑË÷ÁË¡£

ʹÓÃScout±ê¼ÇÄ£×Ó

ʹÓÃLaravel Scoutʱ£¬ÎÒÃÇÐèÒªÔÚ¶ÔÓ¦µÄModelÖÐʹÓÃSearchable trait¡£

ÀýÈ磺

namespace App;

use IlluminateDatabaseEloquentModel;

use LaravelScoutSearchable;

class User extends Model

{

use Searchable;

// ...

µÇ¼ºó¸´ÖÆ

}

Õâ¸öÀú³ÌÍê³Éºó£¬Ä£×ÓµÄsave()¡¢delete()¡¢restore()ºÍforceDelete()ÒªÌå»á×Ô¶¯ÓëËÑË÷ÒýÇæͬ²½¡£

ʹÓÃAlgolia»òElasticSearch

ÔÚAlgolia»òElasticSearchÖн¨ÉèË÷ÒýºÍÉèÖÃËÑË÷Ч¹ûÃûÌá£ÎªÁËÓÅ»¯ËÑË÷Ч¹û£¬ÎÒÃÇ¿ÉÒÔÔÚLaravelÖÐʹÓÃScoutµÄSearchable trait¡£

ÀýÈ磬ÔÚAlgoliaÖУº

namespace App;

use LaravelScoutSearchable;

use AlgoliaScoutExtendedSearchableAggregator;

class Note extends Model

{

use Searchable, Aggregator;

public function toSearchableArray()
{
    $array = $this->toArray();

    // ÇëÇó×¢Èëʱ£¬ÎÒÃÇÐèÒª¸üÐÂÅÌÎÊÉý¼¶ºÍÏòÁ¿·ÖÅÉ
    $array = $this->seoInject Boosts($array, [
        'title' => 1000, 
        'content' => 100,
        'body' => 10,
    ]);

    return $array;
}

µÇ¼ºó¸´ÖÆ

}

¶þ¡¢LaravelËÑË÷ɾ³ý

ÔÚLaravelµÄCRUDÓ¦ÓÃÖУ¬É¾³ý²Ù×÷ÊǺÜÊÇÆÕ±éµÄ¡£ÔÚËÑË÷Ч¹ûÖоÙÐÐɾ³ý²Ù×÷ÊÇÒ»¸öÏà¶ÔÖØ´óµÄʹÃü£¬ÓÉÓÚÄúÐèÒª½«É¾³ýµÄÊý¾Ý×Ô¶¯´ÓËÑË÷ÒýÇæÖÐɾ³ý¡£ÕâÒâζ×Å£¬ÎÒÃÇÐèÒª¶ÔÊý¾Ý¿â¾ÙÐвÙ×÷¡£

ÒÔÏÂÊÇʵÏÖËÑË÷²¢É¾³ýÊý¾ÝµÄ´óÖÂÁ÷³Ì£º

1.ÔÚËÑË÷Ч¹ûÖÐѡժҪɾ³ýµÄÊý¾Ý¡£

2.½«ÕâЩÊý¾Ý±ê¼ÇΪ¡°É¾³ý¡±£¬¸üÐÂÊý¾Ý¿â£¬²¢´ÓËÑË÷ÒýÇæÖÐɾ³ýÕâЩÊý¾Ý¡£

namespace AppHttpControllers;

use AppNote;

use IlluminateHttpRequest;

class NoteController extends Controller

{

/**
 * ɾ³ýÒ»ÌõÌõ¼ÇÐÞÊηûÐÅÏ¢ÇëÇó
 *
 * @param int $id
 * @return IlluminateHttpResponse
 */
public function destroy($id)
{
    $note = Note::find($id);

    if ($note) {
        // ´ÓÊý¾Ý¿âÖÐɾ³ý
        $note->delete();

        // ´ÓËÑË÷ÒýÇæÖÐɾ³ý
        $note->unsearchable();
    }

    return redirect()
        ->route('notes.index')
        ->with('success', 'Note deleted successfully.');
}

µÇ¼ºó¸´ÖÆ

}

ÔÚÉÏÃæµÄʾÀýÖУ¬ÎÒÃÇ´ÓÊý¾Ý¿âÖÐɾ³ýÁËÌõ¼Ç²¢´ÓËÑË÷ÒýÇæÖÐɾ³ý¡£½ÓÏÂÀ´£¬ÎÒÃÇ»áÌÖÂÛÔõÑùÔÚËÑË÷Ч¹ûÖÐʵÏÖÅúÁ¿É¾³ý²Ù×÷¡£

Èý¡¢ÊµÏÖÅúÁ¿É¾³ý²Ù×÷

ÔÚ½«¶à¸öЧ¹ûɾ³ý֮ǰ£¬ÎÒÃÇÐèÒªÔÚÇ°¶Ë¿ª·¢Ò»¸ö¶àÑ¡¿òºÍɾ³ý°´Å¥¡£È»ºó£¬ÎÒÃÇÐèÒªÔÚ¿ØÖÆÆ÷ÖÐʵÏÖÅúÁ¿É¾³ý²Ù×÷¡£Õⲿ·Ö´úÂë°üÀ¨£º

»ñÈ¡ËùÓÐҪɾ³ýµÄÌõ¼Ç¡£

ÔÚÊý¾Ý¿âÖбê¼ÇÕâЩÌõ¼ÇΪ¡°É¾³ý¡±¡£

´ÓËÑË÷ÒýÇæÖÐɾ³ýÕâЩÌõ¼Ç¡£

Öض¨Ïòµ½Ô­À´µÄ·ÓÉ¡£

ÀýÈ磬ÔÚNoteController.phpÎļþÖУ¬ÊµÏÖÅúÁ¿É¾³ý²Ù×÷£º

/**
 * ɾ³ý¶àÌõÌõ¼Ç±¬·¢ÇëÇó
 *
 * @param Request $request
 * @return IlluminateHttpResponse
 */
public function multiDestroy(Request $request)
{
    $notesId = $request->ids;

    foreach ($notesId as $noteId) {
        $note = Note::find($noteId);
        if ($note) {
            $note->delete();
            $note->unsearchable();
        }
    }

    return redirect()
        ->route('notes.index')
        ->with('success', 'Notes were deleted successfully.');
}

µÇ¼ºó¸´ÖÆ

ÔÚÉÏÃæµÄ´úÂëÖУ¬ÎÒÃDZéÀúÁËËùÓÐҪɾ³ýµÄÌõ¼Ç¹¤¾ß£¬²¢ÔÚÊý¾Ý¿âºÍËÑË÷ÒýÇæÖн«ËüÃDZê¼ÇΪɾ³ý״̬¡£Õâ¸öÀú³ÌºÍµ¥É¾ºÜÀàËÆ¡£

ËÄ¡¢×ܽá

±¾ÎÄÏÈÈÝÁËÔõÑùÔÚLaravelÓ¦ÓóÌÐòÖÐʵÏÖËÑË÷ɾ³ý£¬º­¸ÇÁËLaravel¿ò¼ÜºÍScoutÄ£¿éµÄ»ù±¾Ó÷¨ºÍ¿ØÖÆÆ÷´¦ÀíÒªÁì¡£¿ÉÒÔͨ¹ýÕâ¸öʾÀýÔÚ×Ô¼ºµÄLaravelÓ¦ÓóÌÐòÖÐʵÏÖÏàͬµÄ¹¦Ð§£¬ÎªÄú¿ª·¢Ô½·¢Àû±ã¡£

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

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

Ïà¹ØÐÂÎÅ

ÁªÏµ尊龙凯时人生就是搏

18523999891

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

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

QR code
sitemap¡¢ÍøÕ¾µØͼ