title: Moving from Provider to GetX and cannot Get.find the correct Controller
body: <p>I'm trying to move from <code>Provider</code> to <code>GetX</code> and am stuck on how <code>GetX.find()</code> works.</p>
  <p>We have a <code>restaurant</code> app with a few <code>table</code>s. Below is the narrowed down view of my old <code>Provider</code> code showing just the <code>staff</code> table and <code>VIP</code> table. You click on the &quot;Seat&quot; button to mark the table as seated.:</p>
  <pre class="lang-dart prettyprint-override"><code>  Widget build(BuildContext context) {
      return MaterialApp(
        title: 'Restaurant',
        home: Column(children: [
          ChangeNotifierProvider&lt;Table&gt;( //Provider
            create: (_) =&gt; Table(&quot;Staff&quot;),  //create controller
            child: Builder(builder: (context) {
              return Column(children: [
                Text(&quot;Staff seated: ${context.watch&lt;Table&gt;().seated}&quot;),  //consume changes
                ElevatedButton(
                    child: const Text(&quot;Seat Staff&quot;),
                    onPressed: () {
                      context.read&lt;Table&gt;().toggleSeated();  //call controller
                    }),
              ]);
            }),
          ),
          ChangeNotifierProvider&lt;Table&gt;(. //Provider
              create: (_) =&gt; Table(&quot;VIP&quot;),  //create controller
              child: Builder(
                builder: (context) {
                  return Column(children: [
                    Text(&quot;VIP seated: ${context.watch&lt;Table&gt;().seated}&quot;),  //consume changes
                    ElevatedButton(
                        child: const Text(&quot;Seat VIP&quot;),
                        onPressed: () {
                          context.read&lt;Table&gt;().toggleSeated();  //call controller
                        }),
                  ]);
                },
              )),
        ]),
      );
    }
  }
  
  </code></pre>
  <p>and associated narrowed down controller:</p>
  <pre><code>class Table extends ChangeNotifier {
    final String name;
    int chairs = 0;
    bool seated = false;
  
    Table(this.name);
  
    toggleSeated() {
      seated = !seated;
      notifyListeners();  //notify providers
    }
  }
  
  </code></pre>
  <p>Now here is the <code>GetX</code> code (which compiles fine) but I tried <code>t.toggle</code> and <code>Get.find&lt;Table&gt;().toggle</code> and both functions toggle both tables at the same time. In the old code they toggled the tables individually:</p>
  <pre class="lang-dart prettyprint-override"><code>  Widget build(BuildContext context) {
      return MaterialApp(
          title: 'Restaurant',
          home: Column(
            children: [
              GetBuilder(  //GetX
                init: Table(&quot;Staff&quot;),  //create controller
                builder: (Table t) {
                  return Column(children: [
                    Text(&quot;Staff seated: ${t.seated}&quot;),  //consume changes
                    ElevatedButton(
                      child: const Text(&quot;Seat Staff&quot;),
                      onPressed: () {
                        //I've tried Get.find here
                        Get.find&lt;Table&gt;().toggleSeated();  //call controller
                      },
                    ),
                  ]);
                },
              ),
              GetBuilder(. //GetX
                init: Table(&quot;VIP&quot;),  //create controller
                builder: (Table t) {
                  return Column(children: [
                    Text(&quot;VIP seated: ${t.seated}&quot;),  //consume changes
                    ElevatedButton(
                      child: const Text(&quot;Seat VIP&quot;),
                      onPressed: () {
                        //I've also tried directly using the controller
                        t.toggleSeated();  //call controller
                      },
                    ),
                  ]);
                },
              ),
            ],
          ));
    }
  </code></pre>
  <p>and associated narrowed down controller:</p>
  <pre class="lang-dart prettyprint-override"><code>class Table extends GetxController {
    final String name;
    int chairs = 0;
    bool seated = false;
  
    Table(this.name);
  
    toggleSeated() {
      seated = !seated;
      update();  //notify GetX
    }
  }
  </code></pre>
  <p>In the <code>Provider</code> version I can interact with the tables individually but in the <code>GetX</code> version the button seems to act on all tables regardless of whether I use <code>Get.find&lt;Table&gt;()</code> or directly using the controller's <code>t.toggle</code>.</p>