невозможно присвоить значение массива переменной - PullRequest
0 голосов
/ 09 апреля 2020

Я занимаюсь разработкой собственного приложения реагирования и отправляю идентификатор продукта в теле с json stringify, но в бэкэнде laravel Я не могу найти запись базы данных с этим идентификатором продукта. Вот мой код для реагирования нативного. идентификатор продукта объявляется как массив в состоянии

onPlaceOrder=async ()=>{
console.log(this.state.product_id)
    var userToken = await AsyncStorage.getItem("userToken");
    fetch('http://xxx.xxx.xxx.xxx/tajroof/public/api/createSales', {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            Authorization:`Bearer ${userToken}`,
        },
        body: JSON.stringify(
           this.state.product_id

        )

        }).then((response) => response.json())
            .then((responseJson) => {

            console.log(responseJson)
                // Alert.alert(responseJson.status);
                // this.setState({modalVisible:false})

        }).catch((error) => {
            alert(error);
        });

   }

вот мой laravel код контроллера

$myid=$request->all();


$length = count($myid);

for ($i = 0; $i < $length; $i++) {
  echo $myid[$i];
}

здесь мой идентификатор продукта 2 и 5, и я впервые получил массив ответов [2, 5,] в консоли и после для l oop я получил 25. Так, как можно искать записи БД с этими двумя разными идентификаторами. Пожалуйста, помогите с кодом .. Ваша помощь будет признателен.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Laravel использует метод find() модели для возврата модели, соответствующей первичным ключам. Подробнее здесь например

$myid=$request->all();
$product = Product::find($myid);
0 голосов
/ 09 апреля 2020

Как вы можете видеть здесь , Eloquent позволяет вам получать элементы из вашей базы данных, передавая findMany и массив идентификаторов (которые будут соответствовать первичному ключу).
Итак, допустим, у вас есть модель Post, вам придется сделать это:

$posts = Post::findMany($myid);

Примечание: отлично работает также Post::find($myid)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...