AGuier

497 经验值

多域名 group

代码:


Route::group(['domain' => '{account}.myapp.com'], function () {
  Route::get('user/{id}', function ($account, $id) {
  //
  });
});

官网的文档。
我打印过Account 输出的是一个对象啊。 怎么返回 {account} 的字符串呢?

ok 测试完毕 ,完美获取。 这就是弯路啊。。。。

如我的URL是这样的

domain.com/edit/123213123

但是我在Request里面需要做处理,但又不需要再控制器里面获取id
因为控制器里面的代码是这样的

public function update(Requests\DemoRequest $request,$id)
    {
        $Demo = Demo::findOrFail($id);
        $Demo->update($request->all());
        return redirect('/Demo');
    }

很显然如果是控制器里面 直接就可以用id拿到。
但是在DomeRequest里边的rule函数里边呢?


   public function rules()
    {
    
        return [
              'num_mark' => "required|digits:11,|unique:demotab,num_mark"'.$id.',_id',
            ];
        }

    }

如上述一样id肯定是拿不到的。
期间我试过了 input::get('id'),也是拿不到的。只能拿到我提交的数据。
去也用过Request 各种方法尝试还是没拿到。。。还用过route的一些方法也没拿到。。不知道是不是方法弄错了?还请指教

https://laravist.com/series/laravel-5-basic/episodes/12

如上述教程里面讲的。

视频在播放到8:33 的时候讲述得到 多个请求都走同一个 rule 的时候。但是……对于我们小白还是不知道……我看了好久的 http://laravel.com/docs/5.1/validation#rule-array

也没看到多个的时候怎么处理……

public function rules()
 {
 //更新数据的时候我想反悔如下
     return [
         'tel' => "required|digits:11",
         'email' => 'email'
     ];
 //新增的时候我就走这的rule 规则
     return [
         'username' => 'required|unique:system_user,username',
         'email' => 'required|unique:system_user,email',
         'tel' => "required|digits:11",
         'email' => 'email'
     ];
 }

创建的 Route 是 /user/create

更新的 Route 是 /user/update

请问怎么识别?

补充一个问题。
如我想除本身id以外的数据才执行email唯一更新怎么弄?
我按照官方的文档弄的是这样的。

'email' => 'email|unique:user,email,'.\Auth::user()->id

我打印了一下数据是这样的

"email|unique:user,email,563496beab600d5237124848"

数据也是没问题的。
但是呢老提示……
email重复了。啥情况?

上问题答案:::::

感谢 @justtest 的处理

因为我安装的是mongodb 所以我的主键是 _id,而laravel 默认的主键的就是

 protected function getUniqueIds($parameters)
 {
 //********看到没他的如果没给定主键的话,他就是id了。而我没有id字段
     $idColumn = isset($parameters[3]) ? $parameters[3] : 'id';

     return [$idColumn, $parameters[2]];
 }

所以我们得改一下代码加上自定义字段

'email' => 'email|unique:user,email,'.\Auth::user()->id.',_id',

这样就大功告成了!!!再次感谢

class User extends Eloquent implements AuthenticatableContract,AuthorizableContract,CanResetPasswordContract
{
    use Authenticatable, Authorizable, CanResetPassword;
 // codes
}