Laravel无法将userId传递给模型查询

时间:2017-09-23 09:55:03

标签: php laravel

我有两个表,一个是提供商的主表,另一个是提供者 - 用户的映射表,其映射ID包含用户特定的附加字段。

如果我有以下代码,我会得到值。

return $mobileProviders=Provider::whereHas('providerUser', function ($query) {
           $query->where('user_id',1);
      })->where('provider_type',1)->get();

现在我通过Auth $ userId它没有返回任何值当我返回 $ userId 时,我得到 1 ,这与上面相同,但我无法得到结果

$userId=Auth::user()->id;
return $mobileProviders=Provider::whereHas('providerUser', function ($query) {
           $query->where('user_id',$userId);
      })->where('provider_type',1)->get();

1 个答案:

答案 0 :(得分:3)

只需在public class CrechHomeController implements Initializable { /** * Initializes the controller class. */ @FXML private BorderPane borderPane; private AnchorPane enfant; @Override public void initialize(URL url, ResourceBundle rb) { try { // TODO enfant = FXMLLoader.load(getClass().getResource(("/Views/Enfant.fxml"))); } catch (IOException ex) { Logger.getLogger(CrechHomeController.class.getName()).log(Level.SEVERE, null, ex); } } @FXML public void enfantItemAction() throws IOException { // getting the controller class and execute the reload method FXMLLoader loader = new FXMLLoader(); loader.setLocation(getClass().getResource("/Views/Enfant.fxml")); loader.load(); EnfantController enfantController = loader.getController(); enfantController.reload(); borderPane.setCenter(enfant); } } 之后添加use ($userId)即可。如下所示:

function ($query)

这会将变量传递给闭包。