相关疑难解决方法(0)

如何通过laravel eloquent模型加入三个表

我有三张桌子

文章表

 id
 title
 body
 categories_id
 user_id
Run Code Online (Sandbox Code Playgroud)

分类表

  id
  category_name
Run Code Online (Sandbox Code Playgroud)

用户表

 id
 user_name
 user_type
Run Code Online (Sandbox Code Playgroud)

我想用他们的类别名称而不是category_id和user_name而不是user_id来显示文章我尝试这些查询这是工作!

$articles =DB::table('articles')
                ->join('categories', 'articles.id', '=', 'categories.id')
                ->join('users', 'users.id', '=', 'articles.user_id')
                ->select('articles.id','articles.title','articles.body','users.username', 'category.name')
                ->get();
Run Code Online (Sandbox Code Playgroud)

但我想用Eloquent的方式做.拜托,我该怎么办?

php mysql laravel

61
推荐指数
2
解决办法
15万
查看次数

在多个关系laravel4的情况下更新数据透视表

我最近开始使用Laravel4.在多个关系的情况下,我在更新数据透视表数据时遇到一些问题.

情况是:我有两个表:Product,ProductType.它们之间的关系是多对多的.我的模特是

class Product extends Eloquent {
    protected $table = 'products';
    protected $primaryKey = 'prd_id';

    public function tags() {
        return $this->belongsToMany('Tag', 'prd_tags', 'prta_prd_id', 'prta_tag_id');
    }
}

class Tag extends Eloquent {
    protected $table = 'tags';
    protected $primaryKey = 'tag_id';
        public function products()
    {
    return $this->belongsToMany('Product', 'prd_tags', 'prta_prd_id', 'prta_tag_id');
    }
}
Run Code Online (Sandbox Code Playgroud)

在将数据插入数据透视表prd_tags时,我做了:

$product->tags()->attach($tag->tagID);
Run Code Online (Sandbox Code Playgroud)

但是现在我想更新此数据透视表中的数据,将数据更新到数据透视表的最佳方法是什么.比方说,我想删除一些标签并为特定产品添加新标签.

many-to-many pivot-table laravel eloquent laravel-4

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

laravel ×2

eloquent ×1

laravel-4 ×1

many-to-many ×1

mysql ×1

php ×1

pivot-table ×1