Giriş yapmadınız.

#1 29.01.2019 16:26:47

bhdr
Üye
Kayıtlı: 09.06.2018
Mesajlar: 94

Laravel algolia model ilişkisi

Algolia ile arama yapıyorum, algolia ile indexlediğim tablo, başka bir tablo ile ilişkilendirdiğim başka bir tablo.

Algolia indexlerken

user_id: 1

olarak indexliyor. Sitede Id aradığımda sonuç geliyor fakat  aramayı isim ile  yaptığımda gelmiyor çünkü algolia id olarak indexlliyor..

Algolia sitesinden

class Comment extends Model
{
    use Searchable;

    protected $touches = ['article'];

    public function article()
    {
        return $this->belongsTo(Article::class);
    }
}

 
şu şekilde bir şey buldum fakat işe yaramadı..

Çevrimdışı

#2 29.01.2019 20:36:15

evrend
Üye
Yer: DÜZCE
Kayıtlı: 26.05.2014
Mesajlar: 370
Website

Yanıt: Laravel algolia model ilişkisi

Laravel scout kullanıyorsunuzdur: https://laravel.com/docs/5.7/scout#configuration
Yukarıdaki dökümanda "Configuring Searchable Data" başlığını inceleyiniz.

#Örnek kullanım
public function toSearchableArray()
{
        $archive = $this->toArray();

        // taggable taglarının indexlenmesi için.
        $archive['tags'] = json_encode($this->tags->map(function ($data) {
            return $data['name'];
        })->toArray(), JSON_UNESCAPED_UNICODE);

        //id'nin indexlenmesi için.
        $archive['no'] = $archive['id'];

        return $archive;
}

Unutmayın, HERKOD aynı değildir.
Fiyat/Performans Cloud için: Digital Ocean.
Ayda 2,5$'a 512Mb ram, 1Core CPU Cloud için: Vultr.

Çevrimdışı

#3 30.01.2019 00:52:39

bhdr
Üye
Kayıtlı: 09.06.2018
Mesajlar: 94

Yanıt: Laravel algolia model ilişkisi

evrend yazdı:

Laravel scout kullanıyorsunuzdur: https://laravel.com/docs/5.7/scout#configuration
Yukarıdaki dökümanda "Configuring Searchable Data" başlığını inceleyiniz.

#Örnek kullanım
public function toSearchableArray()
{
        $archive = $this->toArray();

        // taggable taglarının indexlenmesi için.
        $archive['tags'] = json_encode($this->tags->map(function ($data) {
            return $data['name'];
        })->toArray(), JSON_UNESCAPED_UNICODE);

        //id'nin indexlenmesi için.
        $archive['no'] = $archive['id'];

        return $archive;
}

Bu şekilde çözdüm, teşekkürler..

Çevrimdışı

Forum alt kısmı