I have an option to search for users, what i would like to achieve is for the search to return an array with users to a new page. I made this work with window.location after my request but that crashes when there is to many users and not a way i would like to achieve this.
If you know any other way to tackle this please let me know.
Here is what i am currently doing:
Search.vue:
<template>
<input type="text" v-model="query" @keyup.enter="search()"/>
<button @click="search()" type="button">
</template>
<script>
export default {
data() {
return {
users: [],
query: ''
}
},
methods: {
search: function() {
this.users = [];
this.loading = true;
axios.get('/api/search?q=' + this.query).then((response) => {
this.users = response.data;
this.loading = false;
this.query = '';
window.location = '/search/?users=' + JSON.stringify(this.users);
});
}
}
};
</script>
SearchController.php:
class SearchController extends Controller
{
public function search(Request $request)
{
$error = ['error' => 'No results found, please try with different keywords.'];
if ($request->has('q')) {
$users = User::search($request->get('q'))->get()->load('stats');
return $users->count() ? $users : $error;
}
return $error;
}
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire