lywindly

1712 经验值

namespace App\Http\Controllers\mgr;
use Illuminate\Auth\Authenticatable;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
//use App\Http\Controllers\Auth;
use Auth;

结果还是一样 JB 麻烦讲明白一点 谢谢

在知乎系列 修改密码中
我用 $e=user()->password; 取值报错

FatalErrorException in UserInfoController.php line 15:
Call to undefined function App\Http\Controllers\mgr\user()

但是我已经引用了auth
而用 echo $e=auth::user()->password;则正常
这个是为什么呢 既然已经使用 use auth 为什么还要加入类名才可以 不能直接使用方法

namespace App\Http\Controllers\mgr;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use auth;
class UserInfoController extends Controller
{
        public function changePassword(){
        echo $e=user()->password;
      dd($e);
        return view ('Mgr.changepassword');
    }

采用自己定义的字段 而不是用email 字段 登录和注册是在哪里修改 源码没有找到
JB 能出一个AUTH认证的 源码流程吗?

我觉得应该这样说 就是 控制器中既然可以完成 所有的工作 那路由中使用函数的意义 在什么
使用场景 更多的 在那些方面

JB 麻烦推荐一个 上传时对图片进行 《缩略图》生成的PACKAGE

找到原因了 估计这个问题碰上的人会很少 再次感谢JB的支持。
记录一下问题的原因 因为不显示前导 0 于是我到MYSQL中直接SQL读取数据 发现数据 是可以被读取出前面的0的 说明数据是正确的 于是就用laravel支持的DB:SELECT 原生SQL的方法进行测试 发现也可以读取出 0 我更加怀疑是因为通过ORM后 数据才发生了改变 那使用ORM必然要用MODEL类 那就要去看源代码 时间太长了 于是我就进入到 model下对对应表的MODEL中,我发现其中有这样一句

protected $primaryKey="im_cpbh";

这个字段是主键 把这句注释后 取出的0正常了

分析

应该是 ORM会对做主键的数字进行处理 将前面的0去掉 至于为什么 只有看源码或者 期待JB的解答了

一个字符串存入数据库后 在数据库中显示“0090001”,将这个数据从数据库中取出传到view后 在视图中使用 dd($result) 显示数据 其结果为 正常的“0090001”

 +timestamps: true
        #attributes: array:23 [▼
          "im_id" => 40
          "im_cpbh" => "0090001"
          "a_sqbh" => 6

可是通过foreach 后 显示出来的代码 就没有前面的两个0了 变成了90001 这个是什么原因呢? 求助

@foreach($result as $v)
                <tr>                  
                  <td class="am-hide-sm-only"> $v->im_cpbh </td>

谢谢了 主要英文不好 项目又太多中文名称 苦恼啊 另一种方法 JSON 我觉得不是很好 果然 laravel 有自己的处理方式 很好 很强 谢谢JB

 $result2 = json_decode(json_encode($result2),TRUE);
 $result=array_merge($result2,$result);