[英]Find result with hasmany relationship in laravel
我只是在laravel開始一個項目,這對我來說是一個新的環境。 我熟悉PHP並建立模型關系。 但是laravel結構起初有點復雜。 所以問題是我有一個問題和課程表,一個問題可能有一個以上的課程,所以我又創建了一個包含課程ID和問題ID的表。
問題模型
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Question extends Model{
protected $primaryKey = "id";
public function courses(){
return $this->hasMany('App\Models\CourseQuestion');
}
}
課程模式
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Course extends Model {
protected $primaryKey = "id";
public function questions(){
return $this->hasOne('App\Models\CourseQuestion');
}
}
最后一個課程問題模型
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CourseQuestion extends Model {
protected $primaryKey = "id";
public function questions(){
return $this->hasOne('App\Models\Question');
}
public function courses(){
return $this->hasMany('App\Models\Course');
}
}
我的控制器在哪里得到結果 -
class IndexController extends BaseController {
public function index(){
$user = Question::with('user','courses','branches')->find(100);
echo "<pre>";
print_r($user); die;
}
}
因此,課程只返回當然的id和存儲在第三表中的問題,但我想要課程名稱各自的id。 請幫助謝謝。
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Question extends Model
{
protected $primaryKey = "id";
public function courses()
{
return $this->hasMany('App\Models\CourseQuestion', 'course_question_id', 'id')
->select('id', 'name');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.