merhabalar.
işveren iş yayınlıyor ve işverenin favorileri de mevcut. eğer iş yayınlarsa favorilere gönder seçeneğini seçerse (veritabanımda fav_emplooye_id
alanına array olarak favorilediği id'leri tutuyorum) ilk olarak favorilediği kullanıcılar işi görecektir. Eğer 2 saat içinde teklif gelmemiş ise 2 saat sonra o işi diğer kullanıcılarında görmesini sağlamak istiyorum.
Bu yapıyı nasıl kurabilirim yardımcı olur musunuz.
Şöyle bir sorgum var;
`'appointment' => DB::table('appointment_creates')
->whereIn('acente_id', json_decode($id))
->where('appointment_status', '!=', 2)
->where(function($query) use($emplooye){
$query->where(function($query) use($emplooye){
$query->whereNull('fav_emplooye_id')
->orWhereRaw("fav_emplooye_id LIKE concat('%',?,'%')", [$emplooye->id]);
});
})
->selectRaw("
*,
(CASE
WHEN (? >= fee AND ? <= top_fee) THEN 'Yeşil'
WHEN (? < fee OR ? > top_fee) THEN 'Kırmızı'
END) AS TabloRengi
", array_fill(0, 4, $emplooye->min_fee))
->orderByRaw("
CASE WHEN (? >= fee AND ? <= top_fee) then top_fee ELSE 0 end DESC,
CASE WHEN (? < fee OR ? > top_fee) THEN top_fee else 0 end DESC
", array_fill(0, 4, $emplooye->min_fee))
->get(),`
Yapıyı şu şekilde yapmaya çalışıyorum;
iş ilanlarının "fav_employee_id" boş değil ve kullanıcının "id"si içinde bulunuyorsa ve iş yayınlandan 2 saat içindeyse sadece o kullanıcıya gösterilmesini, aksi takdirde "fav_employee_id" boş olup olmamasına bakılmaksızın diğer kullanıcıların da görmesini sağlamak istiyorum.