从集合laravel获取相关表的对象

问题描述 投票:0回答:1

我想传递搜索操作的结果,但是我遇到了一个问题,因为它正在返回一个数组,并且该表的所有关系都不起作用

结果视图。为此,我只能通过关系访问表上的数据,而不能访问相关数据]

@extends('layouts.app')

@section('content')
    @foreach ($result as $object)
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-md-8">
                    <div class="card">
                        <div class="card-header">
                            <h3>Details for the animal</h3>

                        </div>
                        <div class="card-body">
                            <div class="col-12">
                                <p><strong>Id: </strong>{{ $object->id }}</p>


                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

    @endforeach
@endsection

这里是我的控制人

<?php

namespace App\Http\Controllers;

use App\Animal;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class SearchController extends Controller
{
    public function index()
    {
        Animal::all();
        return view('search.index');
    }
    public function postSearch(Request $request)
    {
        $serial_number = $request->input('search');
        $this->getResult($serial_number);
        return redirect()->route('result',$serial_number);
    }
    public function getResult($serial_number){
        $result = DB::table('slaughters')->where(function ($query) use ($serial_number) {
            $query->where('id','LIKE',"%$serial_number%");
        })->latest()->get();

        return view('search.result', ['result'=>$result]);


    }
}

和我的路线

Route::get('/search','SearchController@index')->name('search');
Route::post('/get','SearchController@postSearch');
Route::get('/search/{result}','SearchController@getResult')->name('result');

我也想从与此表相关的表中访问数据。该怎么办

屠宰模型

class Slaughter extends Model
{
    protected $guarded = [];

    public function user(){
        return $this->belongsTo(User::class);
    }

    public function animal(){
        return $this->belongsTo(Animal::class);
    }

我想传递搜索操作的结果,但是我遇到了一个问题,因为它正在返回一个数组,并且该表的所有关系都不在工作结果视图中。为此,我可以...

laravel
1个回答
2
投票

您必须创建模型Slaughter并定义关系。

© www.soinside.com 2019 - 2024. All rights reserved.