Laravel-Abfrage, um Ergebnisse mit mindestens einem Element eines Arrays zu erhalten?

Ich habeposts undpostWriters Tabellen mit Eins-zu-Viele-Beziehungen. (Ich habe auchwriters Tabelle)

eder Beitrag wurde von mehreren Autoren in Zusammenarbeit verfass

Ich möchte die ersten 20 Beiträge erhalten, die von mindestens einem Autor verfasst wurden, dem ich folge.

Zum Beispiel die Autoren, denen ich folge:

$arrayOfWriterIds_IFollow = [3, 5, 123, 45, ..., 3456] // total 100 ids

Die Abfrage

$posts = Post::where(
    array( 'postWriters' => function($l) {
        $l->whereIn('writer_id', $arrayOfWriterIds_IFollow); // or array(3, 5) for 2 writers..
    })
)
->orderBy('submitTimestamp', 'desc')
->take(20)
->get();

Die Abfrage funktioniert nicht.

Ist dieser Ansatz angemessen oder sollte ich eine dedizierte Tabelle hinzufügen, um meine Ergebnisse zu bewerten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage