小编Mat*_*Mat的帖子

Laravel查询关系模型:: has('relation')不起作用

在Laravel文档中,它说你可以使用这种语法来查询对象关系,只获得至少有一个Comment的帖子:

$posts = Post::has('comments')->get();
Run Code Online (Sandbox Code Playgroud)

我正在尝试类似的东西,我只想获取至少有一个关系对象的对象.这是我的两个班级:

class Movie extends Eloquent {
    protected $table = 'movie';

    public function matches() {
        return $this->hasMany("Match");
    }
}

class Match extends Eloquent {
    protected $table = 'match';

    public function movie() {
        return $this->belongsTo("Movie");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我打电话时

$movies = Movie::has('matches')->get();
Run Code Online (Sandbox Code Playgroud)

我得到一个空集合.如果我打电话

$movie = Movie::find(1)->matches()->get();
Run Code Online (Sandbox Code Playgroud)

我确实得到了与电影相关的匹配,所以我知道关系设置正确.我无法弄清楚我在使用Movie :: has方法做错了什么.

我正在使用随composer创建的laravel项目中包含的sqlite3数据库.这是结构和数据:

sqlite> .schema movie
CREATE TABLE "movie" ("id" integer not null primary key autoincrement, "title" varchar not null);

sqlite> .schema match
CREATE TABLE "match" ("id" integer not null primary key …
Run Code Online (Sandbox Code Playgroud)

php querying database-relations laravel-4

5
推荐指数
1
解决办法
7024
查看次数

标签 统计

database-relations ×1

laravel-4 ×1

php ×1

querying ×1