Вот отношения 1 Код:Laravel 5 Запросы Отношения
/**
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function address()
{
return $this->hasMany('App\IPAddress', 'group_id');
}
и отношения 2 Код:
/**
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function group()
{
return $this->belongsTo('App\IPGroups');
}
Я хочу, чтобы все IP-адреса, которые принадлежат к определенной группе. Я не хочу писать необработанные запросы, мне нужно сделать запрос с отношениями. У кого-нибудь есть идея?
Я пытался сделать что-то вроде этого:
/**
* Get IP Addresses of specified group
* @param Request $request
* @return mixed
*/
public function getIP(Request $request)
{
$group = IPGroups::findOrFail($request->group_id);
return $group->address;
}
, но мне нужно добавить одно где заявление, в котором я могу выбрать только активные адреса IP.
Вот модель 1 Код:
namespace App;
use Illuminate\Database\Eloquent\Model;
class IPGroups extends Model
{
/**
* Working Table
* @var string
*/
protected $table = 'ip_groups';
/**
* Guarded Values From Mass Assignment
* @var array
*/
protected $guarded = [ 'id' ];
/**
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function address()
{
return $this->hasMany('App\IPAddress', 'group_id');
}
}
и второй код модели:
namespace App;
use Illuminate\Database\Eloquent\Model;
class IPAddress extends Model
{
/**
* Working Table
* @var string
*/
protected $table = 'ips';
/**
* Protected Values From Mass Assignment
* @var array
*/
protected $fillable = [ 'group_id', 'ip', 'description', 'status' ];
/**
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function group()
{
return $this->belongsTo('App\IPGroups');
}
}
Возможный дубликат [Laravel 4 - Как использовать, где условия для столбца отношения] (http://stackoverflow.com/questions/18885127/laravel-4-how-to-use-where-conditions-for-relations- столбец) –
какая ошибка вы получаете? –
Я получаю все IP-адреса, я хочу только активные. В таблице базы данных у меня есть статус столбца ['Active', 'Deleted']. –