मेरे पास ऐसी परियोजनाएं हैं जो hasMany
उपयोगकर्ता हैं, और उपयोगकर्ता belongsTo
एक प्रोजेक्ट।लार्वेल 5 अपरिभाषित विधि पर कॉल करें डेटाबेस क्वेरी बिल्डर :: विधि()
मैं एक परियोजना के उपयोगकर्ताओं की कुल राशि गिनना चाहता हूं इसलिए मुझे उन्हें लिंक करने की आवश्यकता है।
इस तरह से मुझे Call to undefined method Illuminate\Database\Query\Builder::user()
त्रुटि मिल रही है।
मैं क्या गलत कर रहा हूं?
नियंत्रक:
class ProjectController extends Controller
{
private $project;
public function __construct(Project $project){
$this->project = $project;
// $this->project = $project
// ->with('user');
}
public function index(Project $project)
{
$projects = $project->with('user')->get();
$currenttime = Carbon::now();
// return view('project.index', array('projects' => $projects, 'currenttime' => $currenttime));
return view('user.index', compact('projects'));
}
}
मॉडल user
:
public function project(){
return $this->belongsTo('App\Project', 'project_id','id');
}
मॉडल project
:
public function users() {
return $this->hasMany('App\User', 'id');
}
HTML/ब्लेड:
@if(isset($projects))
<table class="table table-striped table-hover table-dynamic datatable">
<thead>
<tr>
<th>{{ trans('common.project') }}</th>
<th>{{ trans('common.workers') }}</th>
<th>{{ trans('common.completion_date') }}</th>
<th>{{ trans('common.status')}}</th>
</tr>
</thead>
<tbody>
@foreach($projects as $project)
<tr>
<td>{!! link_to_route('project.edit', $project->name, [$project->id])!!}</td>
<td>{{ $project->id }}</td>
<td>{{ $project->completion_date }}</td>
@if (($project->completed) == 1)
<td><span class="label label-success">{{ trans('common.completed') }}</span></td>
@elseif(($project->completion_date) < $currenttime)
<td><span class="label label-danger">{{ trans('common.toolate') }}</span></td>
@elseif(($project->active) == 0)
<td><span class="label label-default">{{ trans('common.inactive') }}</span></td>
@else
<td><span class="label label-warning">{{ trans('common.inprogress') }}</span></td>
@endif
</tr>
@endforeach
</tbody>
</table>
@endif
आप इस '$ project-> उपयोगकर्ताओं को कैसे कॉल कर रहे हैं;'? – vps
'मेरे मॉडल से सार्वजनिक फ़ंक्शन इंडेक्स (प्रोजेक्ट $ प्रोजेक्ट) ', अगर मैं सही हूं? – Liam
ठीक है आप कृपया 'डीडी ($ परियोजना-> उपयोगकर्ता)' का प्रयास कर सकते हैं; – vps