gpt4 book ai didi

php - 在 laravel 中查找具有 hasmany 关系的结果

转载 作者:行者123 更新时间:2023-11-30 22:22:51 26 4
gpt4 key购买 nike

我刚刚在 Laravel 中开始一个项目,这对我来说是个新环境。我熟悉 PHP 和模型关系。但是 laravel 结构对于启动来说有点复杂。所以问题是我有一个问题和类(class)表,一个问题可能有不止一门类(class),所以我又创建了一个包含类(class) 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');
}
}

类(class)模型

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');
}
}

还有我得到结果的 Controller -

class IndexController extends BaseController {

public function index(){
$user = Question::with('user','courses','branches')->find(100);
echo "<pre>";
print_r($user); die;
}
}

所以类(class)只返回存储在第三个表中的类(class) ID 和问题,但我想要类(class)名称各自的 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');
}
}

关于php - 在 laravel 中查找具有 hasmany 关系的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com