melissa
4 سال پیش توسط melissa مطرح شد
1 پاسخ

جستجو در relationship elequent در لاراول

سلام , من یک قسمت سوال دارم که میخام کاربر بتونه به پنج مدل جستجو کند (براساس سرفصل ,گروه کاربران ,دوره ,نوع سوال و عنوان سوال ) . مشکله من اینه که این جستجو باید بین relation ها باشد , خودم یک کد نوشتم ولی فقط برای نوع سوال جواب میده ,آیا میشه من بتونم همه ی این جستجوها را داشته باشم؟
مدل

class question extends Model
{
    protected $table = 'questions';
    protected $guarded = ['id'];

    public function headings()
    {
        return $this->belongsToMany(heading::class, 'question_headings', 'question_id', 'heading_id');
    }

    public function userGroup()
    {
        return $this->belongsToMany(usersGroup::class, 'question_users_groups', 'question_id', 'users_groups_id');
    }

    public function opt()
    {
        return $this->hasMany(questionOpt::class, 'question_id');
    }

    public function answer()
    {
        return $this->hasMany(answerQuestion::class, 'question_id');
    }
}

کنترلر

 public function show_page_search()
    {
        $headings = heading::all();
        $usersGroup = usersGroup::all();
        $courses = course::all();
        $questionType = $this->questionType;
        return view('Admin.Page.Question.search', compact(['headings', 'usersGroup', 'courses', 'questionType']));
    }

    public function get_data_search(Request $request)
    {
        $questions = question::Where('title', 'LIKE', "%{$request->title}%")->get();
        if ($request->type !== null)
            $questions = $questions->where('type', $request->type)->all();
        return back()->with(['questions' => $questions]);
    }

ویو

<tbody class="text-center">
                                @forelse(session()->get('questions') as $question)
                                    <tr>
                                        <th scope="row"><span
                                                class="badge badge-success p-2">{{ $loop->iteration }}</span></th>
                                        <td>
                                            @foreach($question->headings as $heading)
                                                <span>{{$heading->title}}, </span>
                                            @endforeach
                                        </td>
                                        <td>
                                            @foreach($question->userGroup as $userGroup)
                                                <span>{{$userGroup->name}}, </span>
                                            @endforeach
                                        </td>
                                        <td>{{get_question_type_name($question->type)}}</td>
                                        <td>{{$question->title}}</td>
                                        <td>
                                            <a href="{{route('Admin.show.page.questions.update',$question->id)}}"
                                               class="btn btn-outline-info btn-confirm rounded-circle pt-2"><i
                                                    class="fa fa-edit"></i></a>
                                            <a href="{{route('Admin.show.page.questions.create.copy',$question->id)}}"
                                               class="btn btn-outline-success btn-confirm rounded-circle pt-2"><i
                                                    class="fas fa-copy"></i></a>
                                            <a href="{{route('Admin.get.page.questions.delete',$question->id)}}"
                                               class="btn btn-outline-danger btn-confirm rounded-circle pt-2"><i
                                                    class="fa fa-trash"></i></a>
                                        </td>
                                    </tr>
                                @empty
                                    <td colspan="6">موردی یافت نشد</td>
                                @endforelse
                                </tbody>

ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@mpoorkamaly
سلام.
لینک زیر رو بررسی کنید:
https://bit.ly/3j7mn3I


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام