Могу ли я получить модель Возвращаемое значение?
используйте обратный вызов Web3.php в модели Codeigniter.
Я попробовал это, но это было пусто.
как связать возврат в обратном вызове с возвратом модели CI.
1.Model
use Web3\Web3;
use Web3\Contract;
use Web3\Providers\HttpProvider;
use Web3\RequestManagers\HttpRequestManager;
class Dapps_model extends CI_Model {
public function getItemFromDapps( $item_id ){
$at = "0xMYDAPPSADDRESS";
$json = file_get_contents( APPPATH . "/config/abi.json" , FALSE );
$json = json_decode( $json , TRUE );
$abi = json_encode( $json["abi"] );
$provider = new HttpProvider( new HttpRequestManager('https://ropsten.infura.io/MYAPIKEY') );
$contract = new Contract( $provider , $abi );
$contract->at( $at );
$contract->call( "getItemInfo" , $item_id , function( $err, $item ){
if ( $err !== null ) {
var_dump( $err->getMessage() );
exit;
}
// var_dump( $item ); Data exists.
return $item;
});
}
2.Controller
$item = $this->Dapps_model->getItemFromDapps( 2 );
var_dump( $item ) is Null
добавлять
Мне удалось получить возвращаемое значение модели на контроллере.
С помощью Олувафеми.
Это правильное использование?
$returnData = null;
$contract->call( "getItemInfo" , $item_id , function( $err, $item ) use ( &$returnData ){
if ( $err !== null ) {
var_dump( $err->getMessage() );
exit;
}
// var_dump( $item ); Data exists.
//return $item;
$returnData = $item;
});
return $returnData;
Задача ещё не решена.
Других решений пока нет …