Laravel laratrust在注册时为新用户提供角色

时间:2017-12-06 13:07:24

标签: php laravel laravel-5

我正在使用laratrust来处理我的应用程序的角色和权限。

我想在注册时向用户附加一个角色,但在阅读了laratrust文档后,我似乎无法弄清楚这是什么问题!

这是我的代码

public class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.ViewHolder> {


    public static class ViewHolder extends RecyclerView.ViewHolder {

        private InterstitialAd interstitialAd;

        private TextView homeTitle, homeDesc;
        ImageView homeImage;

        private Context context;

        public ViewHolder(View itemView) {
            super(itemView);
            createInterstitial();
            context = itemView.getContext();
            homeTitle = (TextView)itemView.findViewById(R.id.homeTitle);
            homeDesc = (TextView)itemView.findViewById(R.id.homeDesc);
            homeImage = (ImageView)itemView.findViewById(R.id.homeImage);

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    final Intent intent;
                    switch (getAdapterPosition()) {
                        case 0:
                            showInterstitial();
                            intent = new Intent(context, AllBlock.class);
                            break;
                        case 1:
                            showInterstitial();
                            intent = new Intent(context, BasicBlock.class);
                            break;

                        default:
                            intent = new Intent(context, AllBlock.class);
                            break;
                    }
                    context.startActivity(intent);
                }
            });
        }

        public void createInterstitial() {
            interstitialAd = new InterstitialAd(context);
            interstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
            interstitialAd.setAdListener(new AdListener() {
                @Override
                public void onAdLoaded() {

                }
                @Override
                public void onAdClosed() {
                    loadInterstitial();
                }
            });
        }

        public void loadInterstitial() {
            AdRequest interstitialRequest = new AdRequest.Builder().build();
            interstitialAd.loadAd(interstitialRequest);
        }

        public void showInterstitial() {
            if (interstitialAd.isLoaded()) {
                interstitialAd.show();
            } else {
                loadInterstitial();
            }
        }
    }

使用上面的我得到错误未知查询生成器attacheRole!

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你忘了定义 $ user (参见我的代码示例)但是 $ employer 也会出错,但是函数中没有定义它。

$user = User::create([ 
      'name' => $request->name,
     'lastname' => $request->lastname, 
     'email' => $request->email, 
     'password' => bcrypt($request->password)
 ]);
 $user->attachRole($employer);

Laratrust Examples & doc