Я хочу передать результат действия поиска, но столкнулся с проблемой, потому что он возвращает массив, и из-за этого все связи таблицы не работают
представление результата. Для этого я могу получить доступ только к данным в моей таблице, а не к связанным данным через отношения
@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);
}