我有 Todo 和 Tbl_leads 模型以及相應的表 todos 和 tbl_leads。當我嘗試使用潛在客戶名稱時,它會給我一個錯誤。#This is Tbl_leads model<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Tbl_leads extends Model{ //Table Name protected $table = 'tbl_leads'; //Primary key public $primaryKey = 'ld_id'; //Timestamps public $timestamps = true; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'ld_id', 'first_name', 'last_name', 'email', ]; public function tasks() { $this->hasMany('App\Todo', 'lead_id','ld_id'); }}這是待辦事項模型<?phpnamespace App;use Carbon\Carbon;use Illuminate\Database\Eloquent\Model;use Illuminate\Database\Eloquent\SoftDeletes;class Todo extends Model{ use SoftDeletes; protected $fillable = [ 'title', 'description', 'user_id', 'outcome_id', 'lead_id', 'tasktype_id', 'due_time', 'complete_time', ]; protected $casts = [ 'due_time' => 'datetime', 'complete_time', ]; public function lead() { $this->belongsTo('App\Tbl_leads', 'lead_id'); }}這是我的索引方法 public function index() { $tasks = Todo::latest()->paginate(5); return view('taskmanagement.cruds.index',compact('tasks')); }這是刀片,我想從 Tbl_leads 模型中獲取名字div class="card-body"> <ul class="todo-list" data-widget="todo-list"> @forelse($tasks as $task) <div class="col-3"> @if(!empty($task->lead_id)) <div> <small>Related to</small></div> <div class="mt-0"> <a href="#"><strong class="mx-4">{{$task->lead->first_name}}</strong></a> </div> @endif </div> </div> </div> </li> @empty <p class="text-center">No Tasks is available</p> @endforelsePlz 誰能告訴我我做錯了什么。而且我知道型號名稱和主鍵略有不同未相應地設置為 laravel。我的模型關系是否正確?
1 回答

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
讓我向您澄清幾點。首先,您需要return在每個關系中添加一個。例如:
public function lead() {
return $this->belongsTo('App\Tbl_leads', 'lead_id');
}
接下來您將展示這部分{{$task->lead->first_name}}稱為延遲加載的部分。這意味著如果您正在顯示的100記錄,Todo那么您正在查詢數據庫101時間。1對于Todo和100次lead->first_name。這不好。所以你可以在你的index方法中做些什么來傳遞你的關系,with()這樣它就會被預加載。意味著它將變成只是一個或兩個查詢或只是一個連接。所以會很快。你的方法的例子index......
public function index()
{
$tasks = Todo::with('lead')->latest()->paginate(5);
return view('taskmanagement.cruds.index',compact('tasks'));
}
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消