Как получить список продаваемых товаров продавца?

У меня есть 2 таблицы, которые являются продуктом и PS (продавец). Я хочу сделать страницу, на которой будут перечислены все товары продавца. Я использую оператор if else, но он не работает. Я новичок в Laravel, пожалуйста, помогите мне.

PsController.php

  public function show(){
$ps = DB::table('ps')->get();
return view('viewps', ['ps' => $ps]);
}

public function view($id){
$ps = Ps::find($id)
return view ('views')->with('ps', $ps);
}

public function sellitem(){

$id = DB::table('ps')->get();
$ps_id = DB::table('product')->get();
return view('sellitem', ['ps_id' => $ps_id,'id'=>$id]);
}

sellitem.blade.php

    @if ($ps_id == $id)
<div class="searchable-container">
<div class="items col-xs-12 col-sm-6 col-md-6 col-lg-6 clearfix">
<div class="info-block block-info clearfix">
<div class="square-box pull-left">
<span class="glyphicon glyphicon-user glyphicon-lg"></span>
</div>
<h5>{{$ps_id->name}}</h5>
<h5><img src="{{ asset('images/' . $ps_id->image) }}" height="100" width="100"/> </h5>
<h5>Sold by : {{$ps_id->ps_name}}</h5>
<h4>  <div class="panel-body"> </h4>

</div>
</div>
@else
No records found !
@endifRoute::get('/viewps', 'PsController@show');
Route::get('/viewps/{id}', 'PsController@view')->name('view');
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/sellitem/{ps_id}', 'PsController@sellitem')->name('sellitem');

База данных продуктовбаза данных ps

Обновить

PS model

class Ps extends Authenticatable{
use Notifiable;

protected $fillable = [
'name','lastname','email', 'password', 'username','phone','gender'
];

protected $hidden = [
'password', 'remember_token',
];

public function product(){
return $this->hasMany('Product::class'); }

Модель продукта

class Product extends Model{
public $table = "Product";

protected $fillable =
['name','description','size','image','price','type','ps_id','ps_name'];

protected $hidden = [
'password', 'remember_token',
];

public function ps(){
return $this->belongsTo('Ps::class');
}

Новое обновление
То, что я хочу сделать, это со страницы просмотра там будет ссылка на их продать элемент, который является sellitem.

viewps.blade

<div class="box box-info">

<div class="box-body">
<div class="col-sm-6">
<div  align="center"> <img alt="User Pic" src="https://x1.xingassets.com/assets/frontend_minified/img/users/nobody_m.original.jpg" id="profile-image1" class="img-circle img-responsive">

<input id="profile-image-upload" class="hidden" type="file">

</div>
<br>

</div>
<div class="col-sm-6">
<h4 style="color:#00b1b1;">{{ucfirst(trans($ps->name))}} {{ucfirst(trans($ps->lastname))}}</h4></span>
<span><p>Rating</p></span>
<span><p><a href="{{ route('sellitem', $ps->id) }}">Lists of Sell Items</a></p></span>
</div>

Sellitem.blade

        @if (count($sellProducts) > 0)
@foreach ($ps as $sellProducts)
<div class="searchable-container">
<div class="items col-xs-12 col-sm-6 col-md-6 col-lg-6 clearfix">
<div class="info-block block-info clearfix">
<div class="square-box pull-left">
<span class="glyphicon glyphicon-user glyphicon-lg"></span>
</div>
<h5>{{$ps->name}}</h5>
<h5><img src="{{ asset('images/' . $ps->image) }}" height="100" width="100"/> </h5>
<h5>Sold by : {{$p->ps_name}}</h5>
<h4>  <div class="panel-body"> </h4>

</div>
</div>
@endforeach
@else
No records found !
@endif

</div>

@endsection

-1

Решение

Используйте следующий запрос (мы также можем использовать DB::raw в операторе выбора для расчета sum orсчитать (*) `)

public function sellitem($id){
$ps = Ps::find($id);
$query = DB::table('ps')
->select('product.id as id',
'product.name as name',
'product.description as description',
'product.type as type',
'product.ps_id as ps_id',
'product.ps_name as ps_name',
'product.size as size',
'product.price as price'

))
->join('product', 'product.ps_id', '=', 'ps.id')
->where('product.ps_id','=', $id)
;

$results = $query->get();
return view('sellitem', ['sellProducts' => $results,'ps'=> $ps]);
}

Тогда в sellitem.blade.php

используйте цикл for для получения значений из sellProducts (в этом случае не будет необходимости условие if)

@if (count($sellProducts) > 0)
@foreach ($sellProducts as $sp )
<div class="searchable-container">
<div class="items col-xs-12 col-sm-6 col-md-6 col-lg-6 clearfix">
<div class="info-block block-info clearfix">
<div class="square-box pull-left">
<span class="glyphicon glyphicon-user glyphicon-lg"></span>
</div>
<h5>{{$sp->name}}</h5>
<h5><img src="{{ asset('images/' . $sp->image) }}" height="100" width="100"/> </h5>
<h5>Sold by : {{$sp->ps_name}}</h5>
<h4>  <div class="panel-body"> </h4>

</div>
</div>
@endforeach
@else
No records found !
@endif
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector