Вызов неопределенного метода App \ Student :: contains () в laravel - PullRequest
0 голосов
/ 01 октября 2019

На мой взгляд, это выдает ошибку Вызов неопределенного метода App \ Student :: Содержит ()

мой контроллер

if($auth->user()->getRoleNames() == '["Parent"]'){
    $id = $auth->user()->Parents_id;
    $parent = ParentName::find($id);
    $student = $parent->students;
    $announce = AnnounceMent::get();
    $roletype='parent';
    return view('announcement.index',compact('student','roletype','announce')); 
 }

мой файл просмотра

@foreach($announce as $ann)
    @if($student->contains('id', $ann->student_id))
        <tr>
            <td>{{$i}}</td>
            <td>{{$ann->announcement_type}}</td>
            <td>
                <?php $course = \App\Course::find($ann->course_id) ?>
                {{$course->course_name}}
            </td>
            <td>
            <?php $student = \App\Student::find($ann->student_id) ?>
                    {{$student['firstname'].' '.$student['lastname']}}
            </td>
            <td>{{$ann->description}}</td>
            <td>
            <a class="btn btn-success" href='{{ url("viewannounce/{$ann->id}") }}'>View</a>
            </td>
        </tr>
    @endif
@php($i++)
@endforeach

это моя коллекция. Я получаю дд ($ студентов)

Коллекция {# 595 ▼

# предметов: массив: 3 [▼

0 => Student {#596 }
1 => Student {#597 }
2 => Student {#598 }

]}

1 Ответ

2 голосов
/ 01 октября 2019

contains - это метод сбора, вы вызываете его не из коллекции, если он будет App\Student::all()->contains('something'), он будет работать нормально, но App\Student::find(1)->contains('something') или App\Student::contains('something') не будет работать

Результаты тинкера

>>> App\User::find(1)->contains('email')
BadMethodCallException with message 'Call to undefined method App/User::contains()'
>>> App\User::all()->contains('email')
=> false
>>> App\User::contains('email')
BadMethodCallException with message 'Call to undefined method App/User::contains()'
>>>

Вы можете сделать

$student->id == $ann->student_id

в вашей ситуации, я думаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...