Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou começando no Laravel 11 e me deparei com um problema de belongsTo
public function listOfClass(Request $request, StudentDisciplineClassroom $sdc) : ?string {
$all = $sdc::select('student')->with('studentRelation')->where('classroom',$request->classroom)->distinct('student')->get();
dd($all->toArray());
$students = [];
foreach ($all as $student) {
$students[] =$student;
}
return response()->json($students)->getContent();
}
isso
Em studentRelation temos na tabela StudentDisciplineClassroom com os campos
id(chave primaria)
ra (chave estrangera que referencia o campo academic_registration na tabela de students)
e a tabela student tem os campos
id (chave primária)
academic_registration (que vai ser refeenciada na tabela StudentDisciplineClassroom
Mas na hora de fazer
$sdc::select('student')->with('studentRelation')->where('classroom',$request->classroom)->distinct('student')->get();
O studentRelation retorna nulo
Onde eu posso estar errando?
Certifique-se de que o relacionamento studentRelation está definido corretamente no modelo StudentDisciplineClassroom.
Deve ser algo assim:
public function studentRelation()
{
$all = $sdc::with('studentRelation')
->where('classroom', $request->classroom)
->distinct('student')
$all = $sdc::with('studentRelation')
->where('classroom', $request->classroom)
->groupBy('student')
$all = $sdc::with(['studentRelation:id,academic_registration,nome'])
->where('classroom', $request->classroom)
$query = $sdc::with('studentRelation')