我在一个应用程序中有几个belongsTo关系,其中“最低”的孩子是一个Element。这些模型具有以下功能:
// Element
public function field(){
return $this->belongsTo('Field');
}
// Field
public function section(){
return $this->belongsTo('Section');
}
// Section
public function form(){
return $this->belongsTo(
在Laravel5.5中,我试图创建一个小应用程序来管理几个销售商/商店的产品。
因此,我有四种不同的模型:
Seller.php
class Attribute extends Model
{
public function items()
{
return $this->belongsToMany(Item::class);
}
}
Item.php
class Item extends Model
{
public function seller()
{
return $this->belong
我有一个查询作用域方法,它根据Foo模型的作者过滤结果。复杂的是,作者并没有直接的关系。
Foo属于Bar,Bar属于User。如果Foo属于User,我可以这样做:
public function scopeAuthorOnly($query, User $user)
{
return $query->whereuser_id($user->id);
}
这显然行不通,因为Foo模型没有user_id列,而是有一个bar_id列。但是,我不确定如何以过滤user_id的方式构建查询。
有什么建议吗?
我在做一个过滤器,有一个问题我解决不了。过滤器使用关系,它是完美的。但是,当我对表中不存在的属性进行筛选时,它就不能工作了。由于问题太复杂,我将给出一个示例代码:
<?php
class School extends Eloquent {
protected $table = 'schools';
public function city(){
return $this->belongsTo('City');
}
public function municipality(){
r
我有5张桌子:
1. news
2. tags
3. filters
4. news_tag
5. tag_filters
表格结构如下:
新闻
id
title
description
标签
id
title
滤波器
id
title
news_tag
id
tag_id
news_id
tag_filter
id
tag_id
filter_id
例如,假设我的表有以下记录:
news: id = 1 title = News_1 Description = Details for News_1
tags: id = 1 title = PHP
filters: id = 1 t
我有用户、角色和权限模型。用户的关系仅与角色和角色的权限有关,因此用户与权限之间没有任何联系。
角色模型
public function users(){
return $this->belongsToMany('App\User', 'role_user', 'user_id', 'role_id');
}
public function permissions(){
return $this->belongsToMany('App\Permission', 'permissi
我创建了4个数据库表:
工具
ID _(_
工具类型
ID _名称
工具范畴
ID _名称
Tool_Toolcategory
TOOL_ID x- TOOLCATEGORY_ID
这些模式如下:
class Tool extends Eloquent {
public function toolCategories()
{
return $this->belongsToMany('ToolCategory', 'tool_toolcategory', 'tool_id', 'toolcategory_id'
我已经使用belongsToMany函数创建了多对多关系: class Doctor extends Model
{
...
public function categories()
{
return $this->belongsToMany('App\Category', 'doctors_to_categories', 'doctor_id', 'category_id');
}
...
} 现在我想创建具有多对多条件的查询。在中的SQL中为: SELECT *
FROM `do
我试着获取三个层次的关系数据,但我对使用Laravel5.1感到迷茫
我会尽力解释我的情况,希望你能帮我。
我有两个型号叫Host和User。该模型由Hostgroup和Usergroup模型组成,使用多到多个关系。
然后,我得到了一个名为usergroup_hostgroup_permissions的表,它将Usergroup与Hostgroup联系起来
+--------------+----------------------+------+-----+---------------------+----------------+
| Field | Type
因此,我有如下的数据结构:
User
id
Collection
user_idgame_id
Game
idstatus
在我的模型中,我有这样的关系:
User::hasMany(Collection)
Collection::belongsTo(Game)
Game::hasMany(Collection)
所以,我要做的是获得一个用户列表,并包括所有相关的游戏通过收集表。但我只想包括那些有特殊地位的游戏。我使用的代码(不起作用)如下:
User::with('collections.game')->whereHas('collections.game
我试图在c表(参见DB模式)中找到与中的一行相关联的所有行,即表。由两个枢轴表连接,每个表都具有n:m关系。
DB模式:
下面是我如何定义这些关系的方法:
In model A:
$this->belongsToMany("App\B");
In Model B:
$this->belongsToMany("App\A");
$this->belongsToMany("App\C");
In model C:
$this->belongsToMany("App\B");
通过将getC
我正在Laravel 5.4中构建一个小应用程序,其中我有模型:交互和InteractionSummary。每个交互都可以由用户创建,并且每个交互摘要都包含与公司交互的联系人。下面是我的模型:
用户:
public function interactions()
{
return $this->hasMany('App\Interaction');
}
公司:
public function contacts()
{
return $this->belongsToMany('App\Contact', 'company_con