Laravel получить значение create_at в модели - PullRequest
1 голос
/ 28 января 2020

Я пытаюсь получить атрибут create_at в модели, чтобы я мог поместить его в мои отношения.

Например, строки в exit_accession_goods, созданные сегодня, должны смотреть на строки в entry_accession_goods, которые были созданы сегодня. или перед ним.

Вот что я пробовал:

    <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ExitAccessionGood extends Model
{
    protected $fillable = ['exit_accession_id', 'norm_id', 'quantity'];

    public function entry_goods()
    {
        return $this->hasMany('App\EntryAccessionGood', 'norm_id', 'norm_id')
        ->whereDate('created_at', '<=', $this->created);
    }

    public function packagings()
    {
        return $this->hasMany('App\PackagingItem', 'norm_id', 'norm_id');
    }

    public function getCreatedAttribute()
    {
        return "{$this->created_at}";
    }
}

$this->created возвращает пустую строку.

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Попробуйте это

public function getCreatedAttribute(){
    return $this->attributes['created_at'];
}
0 голосов
/ 28 января 2020

Добавьте это в вашу модель

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ExitAccessionGood extends Model
{
    protected $fillable = ['exit_accession_id', 'norm_id', 'quantity'];
    protected $appends = array('created_at');

    public function entry_goods()
    {
        return $this->hasMany('App\EntryAccessionGood', 'norm_id', 'norm_id')
        ->whereDate('created_at', '<=', $this->created);
    }

    public function packagings()
    {
        return $this->hasMany('App\PackagingItem', 'norm_id', 'norm_id');
    }

    public function getCreatedAttribute()
    {
        return "{$this->created_at}";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...