dd 打印不出数据和 model 使用奇怪的问题

dd失效问题

file
异步请求该方法, 之前是可以dd直接打印的,写着写着现在只能rerurn才可以看到数据,尝试更新版本,更新 symfony/var-dumper都无法解决。 很奇怪

模型查询问题

file
当我模型两表关联时,查询出数据如下 uesrs 是套在里面的, 每次使用都需要 .users.nick 才可以使用, 想要 直接 .nick使用,为此特别写了个特别low的helper函数在转换, 肯定是我使用姿势不对,直到目前还是没有 找到有效的解决方法。

模型getAttribute 问题

模型修改器特别好用,但查询数据的时候 如

    public function getSexAttribute($key)
    {
        return $key == 1 ? '男' : '女';
    }

当用模型查询数据的时候 无论何时都回自动帮我转换, 可有时候需要 不转换的数据,需要原始的数据. 一直没有找到合适的函数 每次都是appends追加使用,特别不方便.
tp有获取原始数据函数,laravel的找了好久没有找到


使用laravel过程中好多奇怪的 问题。 找个师傅带带我...

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
mouyong
最佳答案

那如果这样呢?

$models = Model::query()
->get()
->each(function ($model) {
    $model->sex_readable;
});
5年前 评论
讨论数量: 6
mouyong

可以使用 var_dump();die; 或者 var_export();die; 调试。
这是 chrome 的 bug。曾经出现过,后来修复了,最近的版本又出现了。暂时不知道怎么修复,stackoverflow 有过一篇文章。也没提到怎么解决。

5年前 评论

@蜗牛 大佬,下面俩问题 有没有答案。

5年前 评论
mouyong

第二个问题个人暂时 $array['user']['nick'] 类似这样的,没有做转换处理。

第三个,$model->getAttribute('sex') ? 或者如下?

protected $appends = [
    'sex_readable'
];

public function getSexReadableAttribute()
{
    return $this->attributest['sex'] === 1? ? '男' : '女';
}
5年前 评论

@蜗牛 目前就是这么用的.但是有点强迫症, 第二个 尤其是给and或ios返回数据的时候.他们老是嫌我查询出来的数据嵌套了不好用。 第三个属无奈之举。 因为如用了第三个的方法。 无论怎么查询数据 $appends 都会追加 $hidden也不行

5年前 评论
mouyong

那如果这样呢?

$models = Model::query()
->get()
->each(function ($model) {
    $model->sex_readable;
});
5年前 评论
mouyong

引用 1 楼,这种情况调试一般是看 response 的数据,preview 看不到东西的。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!