[英]How do i get the ID from parent table and JOIN from child table to run the query.
[英]How do I get the Id of artworkrequests table instead of the id of the table where I join with
艺术品控制器:
$leads = Artworkrequest::join('artworks', 'artwork_id', '=', 'artworks.id')->where('artworks.user_id', auth()->user()->id)->get();
我想要做的是通过传递 {{$lead->id}} 来删除 Artworkrequest,但问题是它选择了表艺术品的 id 而不是artworkrequest 的 id。 我怎样才能在我的刀片中传递艺术作品请求的 id?
Lead.blade.php:
@foreach($leads as $lead)
<tr>
<td>
<img src="{{ asset('uploads/artworks') }}/{{$lead->picture }}" width="100px" style="width: 100px" alt="">
</td>
<td>{{ $lead->title }}</td>
<td>
<a href="{{ route('lead.view', [$lead->user_id]) }}"><button class="btn btn-dark">bekijk contactgegevens</button></a>
</td>
<td>
<a href="{{ route('delete.lead', [$lead->id])}}"><button class="btn btn-success">Delete</button></a>
</td>
<td>
<form action="{{ route('lead.delete') }}" method="POST">
@csrf
<input type="hidden" name="id" value="{{$lead->id}}">
<button type="submit" class="btn btn-danger">delete</button>
</form>
</td>
</tr>
@endforeach
对于这个例子,为什么不使用 Eloquent Relation 而不是 join?
To Do eloquent关系,您必须在各自的模型中定义关系。
艺术品.php
class Artwork extends Model
{
public function artworkRequest()
{
return $this->hasMany(ArworkRequest::class);
}
}
ArtworkRequest.php
class ArtworkRequest extends Model
{
public function artwork()
{
return $this->belongsTo(ArworkRequest::class);
}
}
然后在 ArtworkController.php 中,您可以通过这种方式获取数据。 如果您也不需要艺术品数据,则不必包含with('artwork')
。
$leads = ArtworkRequest::with('artwork')->whereHas('artwork', function($q) {
$q->where('user_id', auth()->user()->id);
})->get();
然后在刀片文件中,您可以使用
@foreach($leads as $lead)
{{ $lead->id }}
// additionally, you can also call Artwork data by using
{{ $lead->artwork->name }}
@endforeach
控制器:
public function lead()
{
$user = auth()->user()->id;
$leads = Artworkrequest::with('artwork', 'profile')->get();
return view('artworks.leads', compact('leads'));
}
和blade.php:
@foreach($leads as $lead)
@if(Auth::user()->id == $lead->artwork->user_id )
<tr>
{{$lead->artwork->user_id }}
{{ $lead->id }}
{{ $lead->artwork_id }}
{{ $lead->user_id }}
<td>
{{ $lead->artwork->title }}
</td>
<td>
{{ $lead->profile->first_name }}
</td>
<td>
</td>
<td>
<form action="{{ route('lead.delete') }}" method="POST">
@csrf
<input type="hidden" name="id" value="{{$lead->id}}">
<button type="submit" class="btn btn-danger">delete</button>
</form>
</td>
</tr>
@endif
@endforeach
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.